# digital_play
## #논리회로 #digital
---
misc 에 가까운 문제가 아닐런지...?
어렵지 않아서 장황한 설명은 하지 않는다.
우선 주어진 **.dig** 파일은 아래의 프로그램에서 열린다.
[Digital - 논리회로 설계 프로그램](https://github.com/hneemann/Digital)
![i](../../.images/digital1.png)
digital.dig 파일을 Digital 프로그램에서 로드하면 위와 같이 나온다.
```txt// enc.txt
001101101111111000000110001011000010000001000000110000101010010011111101010011100110010111111100000101010000110100010000011011111011001110111011011001111110000010101011001110000110001001111101100110010001111001111000011011000010111011001100000010111100111100100011010001```
그리고 같이준 이 파일을 보자.
여기서 게싱을 좀 해야하는데, 위에서부터 차례로 **Ciph 1** 부터 **Ciph 9** 까지의 데이터이다.
예시로 **Ciph 1** 과 **Ciph 2** 만 풀이한다.
![i](../../.images/ab2.png)
위에서 **Ciph 1** 는 `00110110111111100000011000101` 이다.
우선 해당 회로 마지막에 not 이 적용되어있으므로 비트 반전을 한다음, xor 키 값인 `0x4d415253` 하고 xor 하면 **Plain 1** 이 나올 것이다.
```pythonciph1="00110110111111100000011000101"hex((int(ciph1,2)^((1<