본문 바로가기

해시함수2

[PYTHON] BloomFilter Bloom Filter는 특정 데이터가 어떤 집합에 포함되어 있는지를 빠르게 확인할 수 있는 방법입니다. 이 구조는 메모리를 효율적으로 사용하면서도, 아주 빠른 검색 속도를 제공합니다. 확률적: Bloom Filter는 요소가 존재하지 않으면 확실히 알려주지만, 요소가 존재한다고 할 경우 '거짓 긍정(false positive)'이 발생할 수 있습니다. 즉, 실제로는 존재하지 않는 요소를 존재한다고 잘못 판단할 수 있습니다.메모리 효율성: Bloom Filter는 해시 함수와 비트 배열을 사용하여 메모리 사용을 최소화합니다. 이는 많은 양의 데이터를 처리할 때 유리합니다.비용 효율적인 삽입 및 검색: 요소를 추가하거나 검색할 때 O(k) 시간 복잡도를 가지며, 여기서 k는 사용된 해시 함수의 수입니다. .. 2024. 8. 11.
[PYTHON] 전자서명 전자서명은 디지털 데이터의 무결성과 인증을 보장하기 위해 사용되는 기술입니다. 주로 비대칭 암호화 방식에 기반하여 작동하며, 두 개의 키(개인키와 공개키)를 사용하여 서명과 검증 과정을 수행합니다. 무결성: 전자서명을 통해 서명된 데이터가 전송 중에 변경되지 않았음을 보장합니다.인증: 서명자는 개인키를 사용하여 서명을 생성하므로, 서명된 데이터는 해당 서명자의 소유임을 증명합니다.부인 방지: 서명자는 서명된 메시지를 부인할 수 없으며, 이는 법적 효력을 가질 수 있습니다.타원 곡선 암호화(ECC)를 사용하여 전자서명을 구현 import osimport randomimport timeimport hashlib# 타원 곡선의 파라미터p = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF.. 2024. 8. 11.