-Soujanya Barik
- ସାଙ୍କେତିକ ଲିଖନ( Cryptography) ହେଉଛି ସଙ୍କେତ ମାଧ୍ୟମରେ ବାର୍ତ୍ତା (Ciphered text)ପଠାଇବାର ପଦ୍ଧତିଗୁଡିକର ଅଧ୍ୟୟନ ଯାହା ଦ୍ବାରା କେବଳ ଉଦ୍ଦିଷ୍ଟ ପ୍ରାପ୍ତକର୍ତ୍ତାମାନେ ବାର୍ତ୍ତା ପଢ଼ିପାରିବେ |
- ଆମେ ପଠାଇବାକୁ ଚାହୁଁଥିବା ସନ୍ଦେଶକୁ ସାଧା ପାଠ୍ୟ କୁହାଯାଏ ଏବଂ ଛଦ୍ମ ରୂପରେ (Ciphered form)ଥିବା ସନ୍ଦେଶକୁ ଛଦ୍ମ ଲିପି କୁହାଯାଏ |
- ସାଧା ପାଠ୍ୟକୁ ଛଦ୍ମ ଲିପିରେ ରୂପାନ୍ତର କରିବାର ପ୍ରକ୍ରିୟାକୁ ଏନକ୍ରିପସନ୍ କୁହାଯାଏ ଏବଂ ଛଦ୍ମ ଲିପିକୁଏହାର ମୂଳ ରୂପରେ ପରିଣତ କରିବାର ପ୍ରକ୍ରିୟାକୁ ଡିକ୍ରିପ୍ସନ୍ କୁହାଯାଏ |
ଯଥା :- ଏନକ୍ରିପସନ୍ ଆଲଗୋରିଦମ ‘ଅକ୍ଷରଗୁଡ଼ିକର ଡାହାଣକୁ ସ୍ଥାନାନ୍ତର’ ଅନୁସରଣ କରେ, ତା’ପରେ ଡିକ୍ରିପ୍ସନ୍ ‘2 ଦ୍ୱାରା ଛାଡିଥିବା ଅକ୍ଷରଗୁଡ଼ିକୁ ସ୍ଥାନାନ୍ତର’ ଅନୁସରଣ କରିବ |
ତା’ପରେ “ହେଲୋ ୱାର୍ଲ୍ଡ( hello world)” (ସାଧା ପାଠ୍ୟ) “jgnnq yqtnf”( ଛଦ୍ମ ପାଠ୍ୟ) ହୋଇଯାଏ |
ଚିତ୍ର 1. ପ୍ରେରକ ଏବଂ ପ୍ରାପ୍ତକର୍ତ୍ତାଙ୍କ ମଧ୍ୟରେ ବାର୍ତ୍ତା ବିନିମୟ ପ୍ରକ୍ରିୟା | |
ସାଙ୍କେତିକ ଲିଖନ କୌଶଳଗୁଡିକ ପ୍ରତିସମ ଏନକ୍ରିପସନ୍ ଏବଂ ଅପ୍ରତିସମ ଏନକ୍ରିପସନ୍ ଭାବରେ ଶ୍ରେଣୀଭୁକ୍ତ କରାଯାଇପାରେ।
ଅପ୍ରତିସମ ଏନକ୍ରିପସନ୍ (ପବ୍ଲିକ୍-କି କ୍ରିପ୍ଟୋଗ୍ରାଫି) ରେ ଏକ ପ୍ରକ୍ରିୟା ଯାହା ଏକ ଯୁଗଳ ସମ୍ବନ୍ଧୀୟ ଚାବି ବ୍ୟବହାର କରେ - ଗୋଟିଏ ସାର୍ବଜନୀନ ଚାବି ଏବଂ ଗୋଟିଏ ବ୍ୟକ୍ତିଗତ ଚାବି ଏକ ସନ୍ଦେଶକୁ ଏନକ୍ରିପ୍ଟ ଏବଂ ଡିକ୍ରିପ୍ଟ କରିବା ପାଇଁ ବ୍ୟବହାର କରାଯାଏ|
ଯଦି ଆଲିସ୍ କୌଣସି ତୃତୀୟ ପକ୍ଷର ଆକ୍ରମଣ ବିନା ବବ୍ ଙ୍କୁ ଏକ ଗୁପ୍ତ ବାର୍ତ୍ତା ପଠାଇବାକୁ ଚାହାଁନ୍ତି ତେବେ ସେ ତାଙ୍କ ବାର୍ତ୍ତା ପଠାଇବା ପାଇଁ ଅପ୍ରତିସମ କିମ୍ବା ପ୍ରତିସମ ଏନକ୍ରିପସନ୍ ବ୍ୟବହାର କରିପାରିବେ |
ଅପ୍ରତିସମ ଏନକ୍ରିପସନ୍ ରେ ଆଲିସ୍ ବବଙ୍କ ସାର୍ବଜନୀନ ଚାବି ନେଇଥାଏ ଯାହା ସମସ୍ତଙ୍କୁ ଜଣା ଏବଂ ତାଙ୍କ ବାର୍ତ୍ତାକୁ ଏନକ୍ରିପ୍ଟ କରେ | ତାପରେ, ଯେତେବେଳେ ବବ୍ ବାର୍ତ୍ତା ଗ୍ରହଣ କରନ୍ତି, ସେ ଆଲିସଙ୍କ ଠାରୁ ବାର୍ତ୍ତା ଡିକ୍ରିପ୍ଟ କରିବା ପାଇଁ ନିଜର ବ୍ୟକ୍ତିଗତ ଚାବି ବ୍ୟବହାର କରନ୍ତି |
ପ୍ରତିସମ ଏନକ୍ରିପସନ୍ ହେଉଛି ଏକ ପ୍ରକାର ଏନକ୍ରିପସନ୍ ଯେଉଁଠାରେ ବାର୍ତ୍ତାଗୁଡ଼ିକୁ ଏନକ୍ରିପ୍ଟ ଏବଂ ଡିକ୍ରିପ୍ଟ କରିବା ପାଇଁ କେବଳ ଗୋଟିଏ ଚାବି ବ୍ୟବହୃତ ହୁଏ |
ଏହା କରିବା ପାଇଁଁ ଡିଫି ହେଲମ୍ୟାନ କି ଏକ୍ସଚେଞ୍ଜ ଆଲଗୋରିଦମ (Key exchange algorithm) ବ୍ୟବହାର କରାଯାଏ। ସାଙ୍କେତିକ ଚାବି (Cryptographic Key) ବିନିମୟ ପାଇଁ ଏହା ଏକ ପଦ୍ଧତି । ଏହି ଆଲଗୋରିଦମଗୁଡ଼ିକ ଏକ ଅସୀମିତ ଏନକ୍ରିପସନ କୌଶଳ ଉପରେ ଆଧାରିତ।
ଆଲଗୋରିଦମଗୁଡ଼ିକ ନିମ୍ନଲିଖିତ ଭାବରେ
- ପ୍ରଥମେ ସେମାନେ ଏକ ବୃହତ ମୌଳିକ ସଂଖ୍ୟା q ଏବଂ q ର ପ୍ରଧାନ ମୂଳ (ଯାହାକି g ଅଟେ) (ଯେଉଁଠାରେ 0<g<q), ଏହିପରିଭାବରେ ବାଛନ୍ତି। ଏକ ପ୍ରଧାନ ମୂଳ "g" ହେଉଛି ଏକ ପୂର୍ଣ୍ଣସଂଖ୍ୟା ଯେପରିକି g(mod q) , g^2(mod q), ...., q^(q-1)(mod q) 1,2,....q-1 ସହିତ କ୍ରମରେ ସମାନ ହେବା ଉଚିତ।
- ଆଲିସ ଏକ ଗୁପ୍ତ ପୂର୍ଣ୍ଣସଂଖ୍ୟା Xa ବାଛେ (ତାର ବ୍ୟକ୍ତିଗତ Key) ଯେପରିକ Xa<q ଏବଂ ତାପରେ Xb = g^ Xa mod q ଗଣନା କରାଯାଏ (ଯାହା ହେଉଛି public key)
- ବବ୍ ତାଙ୍କର ବ୍ୟକ୍ତିଗତ କି(key) Ya କୁ ବାଛେ ଯେପରି Ya <qଏବଂ ତାହାର public key Yb = g^Ya mod q କୁ ଗଣନା କର।
- ବର୍ତ୍ତମାନ Key generation ପାଇଁ ନିମ୍ନଲିଖିତ ଆଲଗୋରିଦମର (k) ଉଭୟ ଆଲିସ ଏବଂ ବବ୍ ଦ୍ଵାରା ଗ୍ରହଣ କରାଯାଇଛି।
- ଆଲିସ Yb ^Xa(mod q )କୁ Yb (ବବ୍ ର public key)ଏବଂXa(ବ୍ୟକ୍ତିଗତ key )କୁ ଗଣନା କରି Key K ବାହାର କରେ।
- ସମାନ ଭାବରେ ବବ୍ Xb^ Ya (mod q) ଗଣନା କରି Key ବାହାର କରେ।
Yb^Xa ( mod q) =Xb^Ya(mod q) ଯାହା ଆଲିସ ଏବଂ ବବ୍ ର ସାଧାରଣ ଅଂଶୀଦାର Key ଅଟେ, ନିମ୍ନଲିଖିତ ଭାବରେ ସତ୍ୟ ଅଟେ।
Yb^Xa(mod q) = (g^Ya)^Xa(mod q)=g^Ya Xa(mod q)
ଏବଂ
XaYa(mod q) = (g^Ya)^Ya(mod q) =g^Xa^Yb(mod q)
ଏହି ଯୋଗାଯୋଗ ଶୁଣୁଥିବା ବ୍ୟକ୍ତି ଇଭ୍ q, g, Xb ଏବଂ Yb ଜାଣନ୍ତି । କିନ୍ତୁ Xa ଏବଂ Yb ର ମୂଲ୍ୟ ଖୋଜିବା ଅସମ୍ଭବ କାରଣ ମନୋନୀତ ସଂଖ୍ୟା ଯଥେଷ୍ଟ ବଡ଼ ହୋଇଥିବାରୁ ବ୍ୟକ୍ତିଗତ Key ଗଣନା କରିବା ଅସମ୍ଭବ ଅଟେ ।
ଟେଲିଗ୍ରାମରେ end to end encrypted କଲଗୁଡ଼ିକ Key ତିଆରି କରିବା ପାଇଁ HD ଆଲଗୋରିଦମ ଉପରେ ଆଧାରିତ ଯଦିଓ ଡିଫି ହେଲମ୍ୟାନ Key ଚୁକ୍ତି ଏକ ପ୍ରାମାଣିକ କି ଚୁକ୍ତିନାମା ପ୍ରୋଟୋକଲ ନୁହେଁ। ଏହା Key exchange algorithm ପାଇଁ ବିଭିନ୍ନ ପ୍ରାମାଣିକ ପ୍ରୋଟୋକଲ ପାଇଁ ଆଧାର ପ୍ରଦାନ କରିଥାଏ।
References:-
- https://www.gatevidyalay.com/cryptography-symmetric-key-cryptography/
- https://searchsecurity.techtarget.com/definition/Diffie-Hellman-key-exchange