해킹이란?
사람들이 암호화된 방법을 뚫고 그안에서의 악성코드등을 집어넣는 행위를 말함.
이러한 해킹의 암호화기술을 간파하기 위해서는 ‘확실’하고 ‘명확’한 암호화 기술이 필요합니다.
암호화 기술은 다양한 프로그램을 통해 이루어질 수 있으며, 그 중에서 Phython을 통해 암호화 기술을 하는 방법을 알아보겠습니다.
먼저 간단한게 원래 평문을 -> 암호화로 바꾸는 과정에 대해서 보겠습니다.
def makeCodebook():
decbook = {'5':'a', '2':'b'} '''간단한 암호화 기술... '''
encbook = {}
for k in decbook:
val = debook[k]
encbook[val] = kreturn encbook, decbook
def encrypt(msg, encbook): ''' define 은 함수를 설정할 때 만들어주는 것 '''
for c in msg:
if c in encbook:
msg = msg.replace(c, encbook[c])
return msg
def decrypt(msg,decbook):
for c in msg:
if c in decbook:
msg = msg.replace(c, decbook[c])
return msg
여기서 보시면 코드북이 decbook, encbook이 존재하죠.
decbook의 멤버는(암호문자 : 평문문자)
encbook의 멤버는(평문문자 : 암호화 문자)
함수 encrypt : 평문의 msg를 스트링 입자로 받으면 그것을 encbook을 이용하여 -> 암호문자로 변환 시킴
그리고 함수 decrypt : msg가 암호화된것을 다시 -> msg로 변환 시키는 함수를 의미합니다.
아주 간단한 암호문으로써, 암호가 간단히 지정된 룰에 따라 인코딩 혹은 디코딩 되는 것을 확인해 볼 수 있었습니다.
또한 Phython함수는 괄호를 쓰는 것이 아니라 ‘index’를 씀으로써 단지 띄어쓰기만으로더 내용이 구분이 됩니다.
Phython안에서의 for문은
'for 변수 in 범위’ 런식으로 쓰이는 것을 파악하였습니다.
java에서 (i=0, i<decbook, i++)와는 차이가 있습니다.
처음 책을 사면서 암호화해킹에 대해서 배워보고 있는데 생각보다 배울것이 엄청 많다는 것을 느낍니다.
은행 산업이든 IT가 극대화로 점점 성장하고 있는 요즘, 보안에 대한 중요성을 계속해서 커지고 있고, 이에 대해 보안 전문가가 되는 것이
저의 궁극적 드림 목표입니다.
카카오는 카카오만의 암호 개발 기술을 개발하였다고 하는데, '가볍'고 '보안'성이 완벽하여 소비자들의 '신뢰'가 바탕으로 되는 상품이 개발되어야 할 것입니다.
카카오만의 보안 기법으로는
1. 생체인증
2. 인증서(PKI)
3. 화이트박스 암호화 등의 기법이 있습니다.
<- 화이트 박스는 소프트웨어 검증방법에서만 들어본 줄 알았는데, 진짜 이러한 암호화기법은 처음 들어봤네요
개발이라는 과정은 ㅠㅠ정말 어려운 것 같습니다. 아직 부족한 점이 많지만 계속해서 나아가야할 것 같습니다.
( 출처 : 화이트해커를 위한 암호와 해킹, 저자 :: 장삼용)
'이유's STUDY > 수업 관련' 카테고리의 다른 글
Artificial Inteligence (0) | 2016.06.02 |
---|