본문 바로가기
프로그래밍/알고리즘

[C언어/알고리즘] 암호화, 복호화의 원리

by 알용 2012. 11. 19.
반응형
 
위 코드는, 문자열을 입력 받은 다음 암호화 할 것인지, 복호화 할 것인지 사용자의 의사를 묻고
 
암호(복호)키(얼마만큼 문자열을 이동(변형)시킬 것인지) 를 입력받아 암호/복호화 하는 순서로 돌아갑니다.
 
암호화와 복호화의 원리가 무엇이냐면 비밀번호와 같은 특정 데이터를 입력 받고
 
배열에 저장된 데이터의 각 원소들을 일정량만큼 변형시켜서 변현된 최종 데이터를 반환하는 것인데요.
 
예를 들어서, 만약에 "abcde" 라는 비밀번호를 입력했다고 가정했을 때,
 
a,b,c,d,e 는 각각 하나의 문자로써 ASCII 코드를 가지고 있습니다.
 
a = 97, b = 98, c = 99, d = 100, e = 101 입니다.
 
반복문을 통해서 a~e 까지의 문자에 3이라는 암호키를 더한다고 가정하면
 
100(d), 101(e), 102(f), 103(g), 104(h) 가 됩니다.
 
abcde 라는 원본 데이터에 3이라는 암호키를 통해 암호화하면 defgh 라는 암호화 된 데이터가 나오죠.
 
암호화의 원리만 알면 복호화 작업은 거꾸로만 하면 됩니다.

 

반응형