Connway's Game of Life 소개
"Cellular automata"를 시연하기 위해 "Connway's Game of Life"의 개념을 기반으로 셀 그리드의 성장과 제어를 에뮬레이션하는 Flutter 앱입니다.
셀룰러 오토마타:
셀룰러 오토마타(CA)는 복잡한 시스템을 시뮬레이션하기 위한 수학적 모델로, 일반적으로 유한한 수의 상태 중 하나에 있을 수 있는 셀 그리드로 표시됩니다. 세포는 자신의 상태가 주변 세포의 상태에 의해 어떻게 영향을 받는지를 결정하는 일련의 규칙에 따라 상태를 변경합니다. 이것은 시간이 지남에 따라 진화하는 패턴과 구조를 생성하여 종종 복잡하고 지능적으로 보이는 행동을 유발합니다. CA는 물리학, 생물학 및 컴퓨터 과학을 포함한 다양한 분야에서 패턴 형성에서 자기 조직화 및 창발적 행동에 이르는 현상을 연구하는 데 사용됩니다.
Connway의 인생 게임:
Conway의 Game of Life는 1970년 수학자 John Horton Conway가 처음 제안한 세포 자동 장치입니다. 복잡하고 흥미로운 패턴을 생성할 수 있는 간단한 규칙의 시뮬레이션입니다.
시뮬레이션은 각 셀이 "살아 있거나" "죽은" 셀의 2차원 격자에서 발생합니다. 각 단계에서 각 셀의 상태는 다음 규칙에 따라 8개의 이웃 셀의 상태를 기반으로 업데이트됩니다.
세포가 살아 있고 2~3개의 살아있는 이웃이 있으면 살아 있는 것입니다. 세포가 죽었고 정확히 3개의 살아있는 이웃이 있으면 살아납니다. 다른 모든 경우에는 세포가 죽거나 죽은 상태로 남아 있습니다. 이러한 간단한 규칙은 간단한 오실레이터에서 시간이 지남에 따라 진화하는 복잡한 모양에 이르는 패턴을 생성할 수 있습니다. Game of Life는 종종 셀룰러 오토마타의 예로 사용되며 수학자, 컴퓨터 과학자 및 복잡한 시스템과 창발적 행동에 관심이 있는 기타 연구자들이 널리 연구하고 있습니다.
실험 기능 - 대칭 암호화 키/IV 생성:
셀룰러 오토마톤의 특성과 여러 유한 상태를 통해 진행되는 방식을 고려할 때 비밀 암호화 키의 목적을 수행할 수 있는 의사 난수/문자열을 생성하는 데 사용할 수 있습니다. 대칭 키 생성은 안전한 방식으로 데이터를 암호화하고 해독하는 데 사용할 수 있는 비밀 키를 생성하는 프로세스를 말합니다. 이 접근 방식에서 CA는 임의의 초기 상태로 초기화된 다음 규칙이 반복적으로 적용되어 일련의 상태를 생성합니다. 그런 다음 상태 시퀀스는 비밀 키로 사용할 수 있는 일련의 숫자로 변환됩니다. 대칭 키 생성에 CA를 사용하는 이점은 결과 숫자 시퀀스가 매우 무작위적이고 예측할 수 없기 때문에 공격자가 키를 추측하기가 매우 어렵다는 것입니다. 또한 CA는 다양한 길이의 키를 생성하도록 쉽게 구성할 수 있으므로 광범위한 암호화 응용 프로그램에 적합합니다.
사양:
이 실험적 기능에 대한 구체적인 구현 세부 정보는 다음과 같습니다.
이러한 암호화 키는 Cellular Automaton의 현재 상태를 사용하여 생성됩니다.
키 생성 시 셀룰러 오토마톤의 현재 상태/생성은 이진 문자열로 변환됩니다--> 1은 살아 있고 0은 죽은 것입니다.
그런 다음 이 이진 문자열은 12의 하위 문자열로 나뉘고 각 하위 문자열은 해당하는 10진수로 변환됩니다.
이 숫자는 각각 문자로 인코딩됩니다. 따라서 전문 용어 문자열이 생성됩니다. 그런 다음 이 문자열은 비밀 키와 초기화 벡터를 생성하는 데 사용되는 두 부분으로 나뉩니다.
이 두 부분은 각각 UTF-8 인코딩과 SHA-256 해싱을 거칩니다.
두 반쪽의 처음 16바이트는 각각 키와 IV로 변환됩니다.
이렇게 생성된 대칭 키를 테스트하는 데 사용되는 알고리즘은 AES(Advanced Encryption Standard)입니다. AES 알고리즘을 구현하기 위해 encrypter 패키지를 사용했습니다. 제 목적은 암호화 알고리즘 자체를 다시 구현하는 것이 아니라 키 생성을 보여주는 것이었기 때문입니다.
셀룰러 오토마타:
셀룰러 오토마타(CA)는 복잡한 시스템을 시뮬레이션하기 위한 수학적 모델로, 일반적으로 유한한 수의 상태 중 하나에 있을 수 있는 셀 그리드로 표시됩니다. 세포는 자신의 상태가 주변 세포의 상태에 의해 어떻게 영향을 받는지를 결정하는 일련의 규칙에 따라 상태를 변경합니다. 이것은 시간이 지남에 따라 진화하는 패턴과 구조를 생성하여 종종 복잡하고 지능적으로 보이는 행동을 유발합니다. CA는 물리학, 생물학 및 컴퓨터 과학을 포함한 다양한 분야에서 패턴 형성에서 자기 조직화 및 창발적 행동에 이르는 현상을 연구하는 데 사용됩니다.
Connway의 인생 게임:
Conway의 Game of Life는 1970년 수학자 John Horton Conway가 처음 제안한 세포 자동 장치입니다. 복잡하고 흥미로운 패턴을 생성할 수 있는 간단한 규칙의 시뮬레이션입니다.
시뮬레이션은 각 셀이 "살아 있거나" "죽은" 셀의 2차원 격자에서 발생합니다. 각 단계에서 각 셀의 상태는 다음 규칙에 따라 8개의 이웃 셀의 상태를 기반으로 업데이트됩니다.
세포가 살아 있고 2~3개의 살아있는 이웃이 있으면 살아 있는 것입니다. 세포가 죽었고 정확히 3개의 살아있는 이웃이 있으면 살아납니다. 다른 모든 경우에는 세포가 죽거나 죽은 상태로 남아 있습니다. 이러한 간단한 규칙은 간단한 오실레이터에서 시간이 지남에 따라 진화하는 복잡한 모양에 이르는 패턴을 생성할 수 있습니다. Game of Life는 종종 셀룰러 오토마타의 예로 사용되며 수학자, 컴퓨터 과학자 및 복잡한 시스템과 창발적 행동에 관심이 있는 기타 연구자들이 널리 연구하고 있습니다.
실험 기능 - 대칭 암호화 키/IV 생성:
셀룰러 오토마톤의 특성과 여러 유한 상태를 통해 진행되는 방식을 고려할 때 비밀 암호화 키의 목적을 수행할 수 있는 의사 난수/문자열을 생성하는 데 사용할 수 있습니다. 대칭 키 생성은 안전한 방식으로 데이터를 암호화하고 해독하는 데 사용할 수 있는 비밀 키를 생성하는 프로세스를 말합니다. 이 접근 방식에서 CA는 임의의 초기 상태로 초기화된 다음 규칙이 반복적으로 적용되어 일련의 상태를 생성합니다. 그런 다음 상태 시퀀스는 비밀 키로 사용할 수 있는 일련의 숫자로 변환됩니다. 대칭 키 생성에 CA를 사용하는 이점은 결과 숫자 시퀀스가 매우 무작위적이고 예측할 수 없기 때문에 공격자가 키를 추측하기가 매우 어렵다는 것입니다. 또한 CA는 다양한 길이의 키를 생성하도록 쉽게 구성할 수 있으므로 광범위한 암호화 응용 프로그램에 적합합니다.
사양:
이 실험적 기능에 대한 구체적인 구현 세부 정보는 다음과 같습니다.
이러한 암호화 키는 Cellular Automaton의 현재 상태를 사용하여 생성됩니다.
키 생성 시 셀룰러 오토마톤의 현재 상태/생성은 이진 문자열로 변환됩니다--> 1은 살아 있고 0은 죽은 것입니다.
그런 다음 이 이진 문자열은 12의 하위 문자열로 나뉘고 각 하위 문자열은 해당하는 10진수로 변환됩니다.
이 숫자는 각각 문자로 인코딩됩니다. 따라서 전문 용어 문자열이 생성됩니다. 그런 다음 이 문자열은 비밀 키와 초기화 벡터를 생성하는 데 사용되는 두 부분으로 나뉩니다.
이 두 부분은 각각 UTF-8 인코딩과 SHA-256 해싱을 거칩니다.
두 반쪽의 처음 16바이트는 각각 키와 IV로 변환됩니다.
이렇게 생성된 대칭 키를 테스트하는 데 사용되는 알고리즘은 AES(Advanced Encryption Standard)입니다. AES 알고리즘을 구현하기 위해 encrypter 패키지를 사용했습니다. 제 목적은 암호화 알고리즘 자체를 다시 구현하는 것이 아니라 키 생성을 보여주는 것이었기 때문입니다.
더 보기