The Imitation Game චිත්රපටිය ඔයාල හැමෝම බලල ඇතිනේ. මට ඒක බැලුවට පස්සේ cryptography ටිකක් ඉගෙන ගෙන බලන්න හිතුනා. ඉතින් මම ඉගෙන ගන්න ඒවා ඔයාලත් එක්ක ටිකක් බෙදා ගන්න ඕනේ කියලත් හිතුන.
රහස් පණිවිඩයක් යවන ක්රම දෙකක් තියෙනවා
1. පණිවිඩය සැඟවීම
ඉතින් මුල් කාලෙ රහස් පණිවිඩ යවන්න වැඩියෙන්ම භාවිතා කරපු දෙයක් තමයි මේක. මේකට අපි ඉංග්රීසියෙන් කියනවා steganography කියල. මේක ග්රීක යුගයේ කරපු එක විදියක් තමයි රහස් දුතයෙක් අරගෙන ඔහුගේ තට්ටය ගාල රහස් පණිවිඩය ඔලුවේ ලිය ල කොන්ඩේ වැවෙනකන් ඉඳල අවශ්ය තැනට යැවීම. අවශ්ය තැනට ගියාම ආයේ තට්ටේ ගාල පණිවිඩය කියවගන්නවා. මේ ක්රමය හදිසි පණිවිඩ යවන්න යොදා ගන්න බැහැ.
තව එක ක්රමයක් තමයි විවද ශාක වල සාරයන්ගෙන් පණිවිඩේ කොලේක ලියල වේලන එක. එතකොට ඒක නොපෙනී ගිහින් රත් කලාම ආයේ ත් දුඹුරු පාටට පණිවිඩේ පේනවලු . ගොඩක් ශාක සාර වල කාබන් අඩංගු නිසා මේ විදියට වෙනවා කියන එකයි සඳහන් වෙන්නේ. මේ ශාකසාර අවසන් වූ ඇතැම් අවස්ථාවල රහස් පණිවිඩ කරුවන තමන්ගේ මුත්රා මේ වැඩේට භාවිතා කළා කියල කියනවා.
තව පුද්ගලක් හොයාගෙන තිබ්බලු alum කියන රසායනික ද්රව්යයි විනාකිරියි වලින් තම්බපු බිත්තරේක කටුව ගලවන්නේ නැතුව ඒ මත රහස් පණිවිඩයක් ලියන්න
මේ විදියට ගොඩක් ක්රම තිබිල තියෙනවා
ඒවා ගැන ඔයාලට විස්තර internet එකෙන් බලාගන්න පුළුවන්
2. පණිවිඩයේ අර්ථය සැඟවීම
පලවෙනි ක්රමේ තියෙන ප්රදානම අවුල තමයි පණිවිඩයේ රහස්ය බව මුළුමනින්ම පණිවිඩය ගෙනියන කෙනා ඇත තිබීම. මොකද එයාව අහු උනොත් සතුරා පණිවිඩය ලේසියෙන්ම දැනගත්තා වෙනවා. මේ නිසා පණිවිඩය හමු වුනත් එයින් කියවෙන්නේ මොකද්ද කියන එක හොයාගන්න බැරි වෙන විදියට පණිවිඩය යවන්න ඒ කාලේ මිනිස්සුන්ට ඕනේ වුනා.
ඉතින් මුල්කාලේ මිනිස්සු පණිවිඩයේ එන සම්පුර්ණ වචන සංකේත වලින් replace කරා.
උදා:
හෙට = &
පහර දෙනු = *
රජතුමා = @
රැජින = %
වගේ සංකේත ටිකකට දෙපැත්තේම ය එකඟ වෙලා තියෙනවා නම් මේ විදියට පණිවිඩයක් යවන්න පුළුවන්
හෙට රජතුමාට පහර දෙනු
&@*
දැන් පණිවිඩේ කාටවත් අහුවුනත් තේරෙන්නේ නැහැ
ඒත් පසු කාලීනව මේ වැඩේ හරි ගියේ නැත්තේ ගොඩක් සංකීර්ණ (බොහෝ වචන) ඇතුලත් පණිවිඩ යවන්න ඕනේ වුන නිසා වචන වෙනුවට අකුරු වලට ආදේශයන් යොදා ගන්න කටයුතු කළා.
මේ වැඩේ කරපු ප්රධාන සහ ආරම්භක කෙනෙක් තමයි Julius Caesar. ඔහු යොදාගත්ත ක්රමයට අපි කියනවා Caesar Cipher කියල.
මෙහෙමයි වැඩේ වෙන්නේ.
ඉංග්රීසි (ලතින්) හෝඩියේ හැම අකුරක් වෙනුවට ඊට නියත ස්ථාන ගානකට ඉදිරියෙන් තියෙන අකුරක් භාවිතා කරනවා. මේ නියත ස්ථාන ගානට කියනවා shift ගාන කියල
උදා: shift අගය 1 යි නම් A වෙනුවට B, B වෙනුවට C, C වෙනුවට D වගේ යොදා ගන්න පුළුවන් .
එතකොට අපි Hello Caesar කියන ඒක encrypt කරනවා නම් shift 1 කින් කොහොමද එන්න ඕනේ
Ifmmp Dbftbs කියල
මේක decrypt කරන්න ලේසියි හැම අකුරකටම 1 ක් පිටිපස්සෙන් තියෙන අකුර ආයෙත් යෙදුවම. හැබැයි එකට shift ඒක කීයද කියල දැනගෙන ඔන්න ඕනේ
ඉතින් ඉංග්රීසි හෝඩියේ අකුරු 26 යි නේ තියෙන්නේ එතකොට උපරීම 26 වතාවක් උත්සාහ කරන කොට භාවිතා කරලා තියෙන shift ඒක කියාද කියල හොයාගෙන පහසුවෙන් මේ පණිවිඩය decrypt කරන්න පුළුවන් මේ වගේ හැම සම්භාවිතවයක්ම try කරලා බලන එකකට කියනවා Brute Force Attack එකක් කියල
වෙලාව තිබ්බොත් තවත් කොටසකින් හමුවෙමු
ඔයාල දන්නා දේවලුත් දාන්න
රහස් පණිවිඩයක් යවන ක්රම දෙකක් තියෙනවා
1. පණිවිඩය සැඟවීම
ඉතින් මුල් කාලෙ රහස් පණිවිඩ යවන්න වැඩියෙන්ම භාවිතා කරපු දෙයක් තමයි මේක. මේකට අපි ඉංග්රීසියෙන් කියනවා steganography කියල. මේක ග්රීක යුගයේ කරපු එක විදියක් තමයි රහස් දුතයෙක් අරගෙන ඔහුගේ තට්ටය ගාල රහස් පණිවිඩය ඔලුවේ ලිය ල කොන්ඩේ වැවෙනකන් ඉඳල අවශ්ය තැනට යැවීම. අවශ්ය තැනට ගියාම ආයේ තට්ටේ ගාල පණිවිඩය කියවගන්නවා. මේ ක්රමය හදිසි පණිවිඩ යවන්න යොදා ගන්න බැහැ.
තව එක ක්රමයක් තමයි විවද ශාක වල සාරයන්ගෙන් පණිවිඩේ කොලේක ලියල වේලන එක. එතකොට ඒක නොපෙනී ගිහින් රත් කලාම ආයේ ත් දුඹුරු පාටට පණිවිඩේ පේනවලු . ගොඩක් ශාක සාර වල කාබන් අඩංගු නිසා මේ විදියට වෙනවා කියන එකයි සඳහන් වෙන්නේ. මේ ශාකසාර අවසන් වූ ඇතැම් අවස්ථාවල රහස් පණිවිඩ කරුවන තමන්ගේ මුත්රා මේ වැඩේට භාවිතා කළා කියල කියනවා.
තව පුද්ගලක් හොයාගෙන තිබ්බලු alum කියන රසායනික ද්රව්යයි විනාකිරියි වලින් තම්බපු බිත්තරේක කටුව ගලවන්නේ නැතුව ඒ මත රහස් පණිවිඩයක් ලියන්න
මේ විදියට ගොඩක් ක්රම තිබිල තියෙනවා
ඒවා ගැන ඔයාලට විස්තර internet එකෙන් බලාගන්න පුළුවන්
2. පණිවිඩයේ අර්ථය සැඟවීම
පලවෙනි ක්රමේ තියෙන ප්රදානම අවුල තමයි පණිවිඩයේ රහස්ය බව මුළුමනින්ම පණිවිඩය ගෙනියන කෙනා ඇත තිබීම. මොකද එයාව අහු උනොත් සතුරා පණිවිඩය ලේසියෙන්ම දැනගත්තා වෙනවා. මේ නිසා පණිවිඩය හමු වුනත් එයින් කියවෙන්නේ මොකද්ද කියන එක හොයාගන්න බැරි වෙන විදියට පණිවිඩය යවන්න ඒ කාලේ මිනිස්සුන්ට ඕනේ වුනා.
ඉතින් මුල්කාලේ මිනිස්සු පණිවිඩයේ එන සම්පුර්ණ වචන සංකේත වලින් replace කරා.
උදා:
හෙට = &
පහර දෙනු = *
රජතුමා = @
රැජින = %
වගේ සංකේත ටිකකට දෙපැත්තේම ය එකඟ වෙලා තියෙනවා නම් මේ විදියට පණිවිඩයක් යවන්න පුළුවන්
හෙට රජතුමාට පහර දෙනු
&@*
දැන් පණිවිඩේ කාටවත් අහුවුනත් තේරෙන්නේ නැහැ
ඒත් පසු කාලීනව මේ වැඩේ හරි ගියේ නැත්තේ ගොඩක් සංකීර්ණ (බොහෝ වචන) ඇතුලත් පණිවිඩ යවන්න ඕනේ වුන නිසා වචන වෙනුවට අකුරු වලට ආදේශයන් යොදා ගන්න කටයුතු කළා.
මේ වැඩේ කරපු ප්රධාන සහ ආරම්භක කෙනෙක් තමයි Julius Caesar. ඔහු යොදාගත්ත ක්රමයට අපි කියනවා Caesar Cipher කියල.
මෙහෙමයි වැඩේ වෙන්නේ.
ඉංග්රීසි (ලතින්) හෝඩියේ හැම අකුරක් වෙනුවට ඊට නියත ස්ථාන ගානකට ඉදිරියෙන් තියෙන අකුරක් භාවිතා කරනවා. මේ නියත ස්ථාන ගානට කියනවා shift ගාන කියල
උදා: shift අගය 1 යි නම් A වෙනුවට B, B වෙනුවට C, C වෙනුවට D වගේ යොදා ගන්න පුළුවන් .
එතකොට අපි Hello Caesar කියන ඒක encrypt කරනවා නම් shift 1 කින් කොහොමද එන්න ඕනේ
Ifmmp Dbftbs කියල
මේක decrypt කරන්න ලේසියි හැම අකුරකටම 1 ක් පිටිපස්සෙන් තියෙන අකුර ආයෙත් යෙදුවම. හැබැයි එකට shift ඒක කීයද කියල දැනගෙන ඔන්න ඕනේ
ඉතින් ඉංග්රීසි හෝඩියේ අකුරු 26 යි නේ තියෙන්නේ එතකොට උපරීම 26 වතාවක් උත්සාහ කරන කොට භාවිතා කරලා තියෙන shift ඒක කියාද කියල හොයාගෙන පහසුවෙන් මේ පණිවිඩය decrypt කරන්න පුළුවන් මේ වගේ හැම සම්භාවිතවයක්ම try කරලා බලන එකකට කියනවා Brute Force Attack එකක් කියල
වෙලාව තිබ්බොත් තවත් කොටසකින් හමුවෙමු
ඔයාල දන්නා දේවලුත් දාන්න
