암호화 4

리펙토링 및 개선 - 5 / 카이사르, 모노알파베틱 암호화 적용

한것 카이사르 암호화와 모노 알파베틱 암호화를 RSA와 함께 적용했다 (회원가입, 로그인, 비밀번호 변경) 내가 쓴 카이사르와 모노알파베틱 암호화 카이사르 암호(Caesar cipher) 카이사르 암호란 각 글자를 n만큼 shift시킨 간단한 치환암호 예 : 'abz'를 +1만큼 shift -> 'bca' 코드화 문자열의 각 문자를 유니코드화 -> 각 유니코드에 원하는 shift만큼 더해줌 -> 이 때 'z' 다음에는 ' fullfish.tistory.com 모노 알파베틱 암호화 (Monoalphabetic Cipher) 앞선 카이사르 암호화와 마찬가지로 치환암호 26자의 알파벳을 각기 다른 알파벳으로 치환시킴 코드화 알파벳이 오름차순된 ('abcd...') 문자열과 랜덤으로 뒤섞인 문자열을 준비해서 각..

모노 알파베틱 암호화 (Monoalphabetic Cipher)

앞선 카이사르 암호화와 마찬가지로 치환암호 26자의 알파벳을 각기 다른 알파벳으로 치환시킴 코드화 알파벳이 오름차순된 ('abcd...') 문자열과 랜덤으로 뒤섞인 문자열을 준비해서 각 알파벳의 index를 참고하여 치환한다 function encrypt(str) { let resultArr = []; for (let i = 0; i < str.length; i++) { if (/[a-z]/.test(str[i])) resultArr.push(lowerMonoAlphabet[lowerAlphabet.indexOf(str[i])]); else if (/[A-Z]/.test(str[i])) resultArr.push(upperMonoAlphabet[upperAlphabet.indexOf(str[i])]); ..

RSA

RSA란? 현재 SSL/TLS에 가장 많이 사용되는 공개키 암호화 알고리즘 전세계 대부분의 인터넷 뱅킹에서 사용 대칭키가 아닌 공개키와 개인키가 한 쌍을 이룸 공개키로 암호화한 내용은 개인키로만 복호화가능 (일반적으로 민감만 정보 보호하려고 사용) 개인키로 암호화한 내용은 공개키로만 복호화가능 (공인인증서처럼 본인을 인증하는 용도로 사용) 공개키와 개인키를 만드는 과정 1. 두 소수 p와 q를 만든다 2. p-1, q-1과 각각 서로소인 정수 e를 준비한다. 3. ed를 (p-1)(q-1)로 나눴을때 나머지가 1인 d를 찾는다. ((p-1)(q-1)과 e가 서로소가 아니면 만족하는 d가 없음 그래서 2번과정 필요) 4. N = pd (N은 평문인 a보다 커야한다), N과 e는 공개키, d는 개인키 5. ..

JSencrypt 라이브러리를 이용한 암호화, 복호화

JSencrypt 라이브러리는 RSA 방식으로 데이터를 암/복호화한다 RSA 방식 이란 RSA RSA란? 현재 SSL/TLS에 가장 많이 사용되는 공개키 암호화 알고리즘 전세계 대부분의 인터넷 뱅킹에서 사용 대칭키가 아닌 공개키와 개인키가 한 쌍을 이룸 공개키로 암호화한 내용은 개인키로만 fullfish.tistory.com JSencrypt 라이브러리 다운 주소 JSEncrypt Introduction When browsing the internet looking for a good solution to RSA Javascript encryption, there is a whole slew of libraries that basically take the fantastic work done by Tom..