Ufichamishi au kriptografia (kwa Kiingereza: cryptography) ni sayansi ya kulinda mawasiliano kwa kuficha maana yake kwa watu wasiolengwa. Kabla ya kupatikana kwa mitambo ya kisasa ujumbe uliandikwa kwa kubadilisha herufi au majina kwa kutumia mfumo uliojulikana kwa mwandishi na mpokeaji aliyelengwa peke yao. Mtu mwingie aliyeona ujumbe alishindwa kuelewa chochote. Siku hizi ufichamishi hufanywa kwa kutumia mitambo na programu za kompyuta. Kati ya mbinu za ufichamishi zilizotumiwa tangu kale ni kubadilishana herufi kufutana na nafasi zao katika alfabeti. Kwa mfano jemadari wa Roma ya Kale, Julius Caesar, alitunga barua za siri akihamisha kila herufi nafasi tatu. Kwa hiyo nafasi ya "a" ilionyesha badala yake herufi "x", "b" ilionyeshwa kwa "y" na kadhalika. Mfano salamu ya "habari gani" inasomeka hivi kwa kubadilisha nafasi za herufi kusogeza herufi nafasi tatu: "exyxof dakf" kusogeza herufi nafasi tano: "dwxwne cwje" Mpokeaji anahitaji tu kujua namba ya ufunguo. Mbinu nyingine ni ufichamishi kwa fimbo lenye kipenyo fulani unaojulikana tangu Ugiriki ya Kale. Kanda ndefu ya ngozi au papiri iliviringishwa kwenye fimbo. Ujumbe uliandikwa mstari kwa mstari. Kanda ilitolewa na kutumwa kwa mpokeaji.