power-girl0-0

XOR을 이용한 암호화 구현하기 본문

암호 프로토콜

XOR을 이용한 암호화 구현하기

power-girl0-0 2021. 3. 11. 21:27
728x90

 XOR을 이용한 암호화, 복호화 

앞에서 구현한 암호화, 복호화를 활용하여 XOR을 구현해보자.

 

XOR을 하기 위해서는 key가 필요하며, key는 임의로 지정해주면 된다.

또한 암호화와 복화화 과정이 같기 때문에, 아래 소스에서는 enc_xor함수로 표현하였다.

^연산자는 XOR연산을 해주는 연산자이다.


 소스코드 

def enc_xor(msg,key):
    msg_size = len(msg)
    key_size = len(key)
    enc = bytearray()
    
    for i in range(msg_size):
    
        msg_xor = msg[i]^key[i%key_size] # i%key_size를 통해 key길이가 초과하는 것을 방지하였다.
        enc.append(msg_xor)
        
    return enc

def main():
    
    msg = 'i love you'
    
    key = 'hisecure'
    
    enc_msg = enc_xor(msg.encode(), key.encode())
    print(enc_msg)

    dec_msg = enc_xor(enc_msg, key.encode())
    print(dec_msg.decode())
    
main()

 결과 

 

 

728x90

'암호 프로토콜' 카테고리의 다른 글

requests 모듈  (0) 2021.03.18
시저 암호(Caesar cipher) 구현하기  (0) 2021.03.11
간단한 암호화, 복호화 만들기  (0) 2021.03.11
아나콘다 설치하기  (0) 2021.03.11
cronb 예제  (0) 2020.10.27
Comments