블로피시(blowfish)는 1993년 브루스 슈나이어(Bruce Schneier)가 데이터 암호화 표준(DES; Data Encryption Standard)의 대안으로 개발한 대칭키 알고리즘이다. 블로피시는 소프트웨어에서 양호한 암호화 속도를 제공한다.
개요
1993년 이전의 다른 암호 알고리즘은 사유 알고리즘이거나 정부, 산업체의 기밀 사항, 또는 특허를 가지고 있었기 때문에 당시 일반 목적의 알고리즘은 존재하지 않았다. 이에 브루스 슈나이어는 DES의 대안으로 다른 알고리즘에 관련된 제약 문제를 해결하기 위해 일반 목적의 알고리즘으로 블로피시를 설계했다. 그는 직접 블로피시는 비특허이기 때문에 퍼블릭 도메인에 속하며 누구든지 자유롭게 사용할 수 있다고 밝혔다. 블로피시는 4비트~ 최대 448비트의 가변 키 길이를 갖고 있고 키의 스케쥴링이 복잡하며 S 박스에 의존한다. 블로피시는 소프트웨어에서 양호한 암호화 속도를 제공하지만 현재는 고급암호화 표준이 더 많은 주목을 받고 있다.[1]
구현
- 32비트 평문을 Parray의 첫 번째 구성 원소와 XOR 연산한다.
- 결과 값을 BlowFish_F 함수로 연산한다.
- 결과 값을 우측 값과 XOR 연산한다.
- 결과값을 좌측에 저장하고 1번의 연산값을 우측에 저장한다.
- 1~4의 과정을 16회에 걸쳐 반복한다.
- 좌측 연산값을 P 18번째 원소과 XOR 연산하고 좌측에 저장한다.
- 우측 연산값을 P 17번째 원소와 XOR 연산하고 우측에 저장한다.[2]
장점
블로피시는 몇 가지 장점을 가지고 있다. 그중 하나는 32비트 마이크로 프로세스에서 1바이트 당 18클럭 사이클의 속도로 암호화하여 Khufu, RC5, DES, IDEA, Trip-DES와 비교했을 때, 그 속도가 매우 빠르다는 것이다. 간결성과 단순성 또한 블로피시의 장점이다. 블로피시는 5K 이내의 메모리에서 실행될 수 있으며, 간단한 구조는 구현이 쉽고 알고리즘의 강도 결정이 용이하다. 더불어 블로피시는 키의 길이가 가변적이어서 448비 만큼 길어질 수 있으며 2³²를 법으로 수행되는 단어의 덧셈 연산과 비트 XOR, 두 개의 기본 연산이 가능하다. 이외에도 비특허 공개 알고리즘이라는 점, 사전 공격을 방어할 수 있어 보안성이 뛰어난다는 점 등이 블로피시의 특징이자 장점으로 꼽히고 있다. 이러한 장점들을 바탕으로 블로피시는 각종 온라인 게임의 패킷 암호화, 패킷 복호화에 주로 사용된다.
각주
참고자료
같이 보기
이 블로피시 문서는 암호 알고리즘에 관한 토막글입니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 이 문서의 내용을 채워주세요.
|
블록체인 : 블록체인 기술, 합의 알고리즘, 암호 알고리즘 □■⊕, 알고리즘, 블록체인 플랫폼, 블록체인 솔루션, 블록체인 서비스
|
|
암호기술
|
개인키 • 경량암호 • 다자간 계산(MPC) • 다중서명(멀티시그) • 동형암호 • 디지털서명 • 링서명 • 배타적 논리합(XOR) • 복호화 • 블랙박스 암호 • 서명 • 소수 • 소인수분해 • 슈노르서명 • 스케인 • 스키테일 • 스테가노그래피 • 안전한 다자간 계산(SMPC) • 암호 • 암호경제학 • 암호문 • 암호키 • 암호학 • 암호화 • 이산로그 • 전자봉투 • 전자서명 • 전치암호 • 종단간 암호화 • 치환암호(대체암호) • 키 • 패딩 • 패스워드 • 평문 • 합성수 • 해독 • 해시 • 형태보존암호 • 혼돈 • 화이트박스 암호 • 확산
|
|
논리연산
|
논리곱(AND) • 논리연산 • 논리합(OR) • 배타적 논리합(XOR) • 부울곱 • 부울대수 • 부울합 • 부정논리곱(NAND) • 부정논리합(NOR) • 부정연산(NOT)
|
|
SHA
|
SHA • SHA0 • SHA1 • SHA2 • SHA224 • SHA256 • SHA384 • SHA512 • SHA512/224 • SHA512/256 • SHA3 • SHA3-224 • SHA3-256 • SHA3-384 • SHA3-512
|
|
MD
|
MD • MD2 • MD4 • MD5 • RIPEMD • RIPEMD-128 • RIPEMD-160 • RIPEMD-256 • RIPEMD-320
|
|
기타 해시
|
CRC-16 • CRC-32 • CRC-64 • Keccak-256 • Keccak-384 • Keccak-512 • Shake-128 • Shake-256 • 베이스32 • 베이스32 파일 • 베이스58 • 베이스64 • 베이스64 파일 • 순환중복검사
|
|
대칭키
|
AES • ARIA(아리아) • DES • HIGHT(하이트) • LEA • SEED(시드) • 대칭키 • 대칭키 암호 알고리즘 • 디피-헬만 • 디피-헬만 키교환 • 레인달 • 블로피시 • 블록암호 • 스트림 암호 • 에스박스(S-Box) • 트리플 DES
|
|
비대칭키
|
PKI • RSA • 공개키 • 공개키 암호 알고리즘 • 비대칭키 • 엘가말 • 타원곡선 • 타원곡선 디지털서명 알고리즘 • 타원곡선암호
|
|
영지식증명
|
영지식 상호 증명(ZKIP) • 영지식 스나크 • 영지식 스타크 • 영지식증명
|
|
양자암호
|
BB84 프로토콜 • E91 프로토콜 • B92 프로토콜 • 비밀키 오류율 • 안전성 증명 • 양자난수생성기 • 양자내성암호 • 양자암호 • 양자얽힘 • 양자역학 • 양자중첩 • 양자컴퓨터 • 양자키 • 양자키분배 • 양자통신 • 연속 변수 프로토콜
|
|
암호해독
|
기지평문공격(KPA) • 선택암호문공격(CCA) • 선택평문공격(CPA) • 암호공격 • 암호문 단독공격(COA) • 암호해독
|
|
암호학 인물
|
라이언 플레이페어 • 레너드 애들먼 • 로널드 리베스트 • 마틴 헬만 • 블레즈 드 비즈네르 • 아디 샤미르 • 앨런 튜링 • 웨슬리 피터슨 • 찰스 휘트스톤 • 휫필드 디피
|
|
위키 : 자동차, 교통, 지역, 지도, 산업, 기업, 단체, 업무, 생활, 쇼핑, 블록체인, 암호화폐, 인공지능, 개발, 인물, 행사, 일반
|
|