본문 바로가기

IT105

Floyd Warshall 출처 : https://www.geeksforgeeks.org/floyd-warshall-algorithm-dp-16/ Graph 알고리즘 중 하나인 Floyd Warshall 알고리즘에 대해 알아보려고 한다.Floyd Warshall 알고리즘은 가중치 있는 그래프에서 각 정점간의 페어 중 가장 짧은 길이를 찾는 알고리즘이다. 그렇다고 친절하게 가장 짧은 정점을 알려주는 것은 아니고 아래의 예시에서 볼 수 있듯이, 정점과 정점간의 가장 짧은 길이만 계산한다. Input: graph[][] = { {0, 5, INF, 10}, {INF, 0, 3, INF}, {INF, INF, 0, 1}, {INF, INF, INF, 0} } which represents the following graph 10 (0)-.. 2019. 3. 6.
[Cryptography] PKCS 이번 포스팅에서는 PKCS에 대해 간단히 알아보려고 한다. PKCS는 Public Key Cryptography Standards의 약자로 풀이하면 공개 키 암호 표준(?) 정도가 되는 것 같다. PKCS는 일종의 그룹으로 특허가 있는 암호화 기술을 보다 활성화하기 위한 표준을 발표한다. 그런데 그룹에서 발표하는 표준이 일반적인 기업 표준 즉, 전세계적으로 통용되는 표준이 아니기 때문에 최근에는 IETF, PKIX와 같은 그룹에서 프로세스를 만들어서 관리한다. (기존 표준 또한 RFC와 같이 옮겨져서 관리된다. ) 지금까지 PKCS에서 발표한 표준은 다음과 같다. (wikipedia 참조) VersionNameCommentsPKCS #12.2RSA Cryptography StandardSee RFC 80.. 2019. 2. 24.
[Cryptography] Salt 왠 소금을 알아보나 하겠지만 여기서 Salt는 암호학에서 말하는 양념장같은 값이다. 그럼 지금부터 살펴보려고 한다. 한 마디로 Salt는 랜덤 데이터로 Hash와 같은 단일 방향 (one-way) 함수에서 사용하는 추가적인 입력값이다.이 랜덤 데이터는 일반적으로 비밀번호를 관리할 때 사용하는데, 이전에는 시스템에 비밀번호를 Plain Text 형태로 저장했다면 지금은 각 사용자의 비밀번호마다 Salt의 랜덤데이터를 포함하여 Hashing 값을 저장한다. (저장하는 방식은 다양하다.) 간단한 예시를 확인해보자.UsernamePassworduser1password123user2password123 위의 테이블은 각 사용자의 이름과 비밀번호가 담겨있다. 물론 그대로 사용해도 되지만 보안상 굉장히 취약하기에 사.. 2019. 2. 23.
[Netflix] Distributed In-memory Datastore 이번 포스팅에서는 Netflix에서 공개한 클라우드 환경에서의 분산형 데이트스토어인 EVCache에 대해 알아보려고 한다. 원문은 해당 페이지를 참조하면 된다.(https://medium.com/netflix-techblog/announcing-evcache-distributed-in-memory-datastore-for-cloud-c26a698c27f7) EVCache는 Netflix에서 개발한 인-메모리 데이터스토어이다. Github에 공개되어 있는 소스 코드를 보면 좀 더 확실히 알 수 있겠지만 기본 문서를 읽어보면 기본 바탕은 memcached로 이루어져 있다. 이를 기본으로 클라우드 환경에서 적절히 사용 할 수 있는 인-메모리 데이터 스토어를 확장한 것이다.(https://github.com/N.. 2019. 2. 23.