본문 바로가기
728x90
반응형

전체 글313

[정보 보안] 블록 암호와 DES (feistel) 암호 기법은 평문을 처리하는 방법에 따라서 스트림 암호와 블록 암호로 나뉜다. 스트림 암호는 난수를 1비트 단위로 생성하고 평문과 xor 연산을 해서 암호화를 진행한다. 스트림 암호가 1비트 단위로 암호화를 했다면 블록 암호는 여러 개의 비트로 이루어진 블록 단위로 암호화를 진행한다. 이번 포스팅에서는 블록 암호에 대해 알아보고 대표적인 DES에 대해 알아보려고 한다. feistel cipher feistel cipher는 블록 암호의 일종이고 알고리즘이 아니라 일종의 프레임워크이다. 대부분의 블록 암호는 feistel cipher를 따른다. 1. 평문을 같은 길이의 두 정보로 쪼갠다. 2. 라운드 i에서 사용하는 키를 K(i)라고 하고 라운드 함수를 F로 놓는다. 3. R0는 그대로 그 다음 단계로 넘.. 2023. 10. 19.
[LangChain] LangChain 개념 및 사용법 LangChain LangChain은 LLM(Large Language Model)을 사용하여 애플리케이션 생성을 쉽게 할 수 있도록 도와주는 프레임워크이다. 우선 Model input output은 다음과 같다. 순서대로 살펴보자. Format 이 단계에서는 마치 함수처럼 미리 입력 형식을 작성할 수 있다. AI에게 미리 배경 context를 알려줄 수도 있고 (당신은 산술 연산을 하는 AI 입니다.) template을 작성해서 형식을 미리 정할 수도 있다. ( {A}와 {B}를 더하시오 ) Predict 이 단계에서는 모델을 사용하는데 LangChain은 크게 두 종류, LLM과 Chat Model 인터페이스를 제공한다. 이 모델을 통해 예측값을 반환한다. LLM은 String을 받아서 String을.. 2023. 10. 18.
[정보 보안] 고전 암호 기법 (전치) https://growth-coder.tistory.com/250 이전 포스팅에서 치환 방식을 사용한 고전 암호 기법에 대해서 알아보았다. 이번 포스팅에서는 전치 방식을 사용한 고전 암호 기법에 대해서 알아보려고 한다. rail fence meet me after two pm 이라는 평문을 rail fence 기법을 사용하여 암호화 해보자. 우선 대각선으로 평문을 작성한다. m e m a t r w p e t e f e t o m 이를 열로 읽으면 MEMATRWPETEFETOM이 된다. row transposition meet me after two pm를 row transposition을 사용하여 암호화 해보자. 먼저 키를 [4 3 1 2]로 정해보자. 개수에 맞게끔 평문을 행렬로 만들어보자. 4 3 .. 2023. 10. 17.
[정보 보안] 고전 암호 기법 (치환) 암호의 기본 연산은 문자를 다른 문자로 바꾸는 "치환"과 문자의 순서를 재배치하는 "전치" 방식이다. 이번 시간에는 치환 방식을 사용하는 고전 암호 기법에 대해서 알아보려고 한다. Caesar 암호 Caesar 암호는 치환 방식의 대표적인 암호 방식이다. 모든 알파벳들을 자신보다 문자 뒤에 있는 문자로 치환하는 방식이다. 평문 a b c d e 암호문 d e f g h a에서 z까지 0부터 차례대로 숫자를 매칭했다고 하자. 매칭한 숫자를 바탕으로 암호화 알고리즘과 복호화 알고리즘을 다음과 같이 표현할 수 있다. C = E(k, p) = (p + k) mod 26 (암호화 알고리즘) D = E(k, C) = (C - k) mod 26 (복호화 알고리즘) k는 키 값을 의미하는데 caesar에서는 3을 키 .. 2023. 10. 16.
728x90
반응형