배타적 논리합 편집하기

이동: 둘러보기, 검색

경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 아이디(ID)으로 기록되고, 다른 장점도 있습니다.

편집을 되돌릴 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 저장해주세요.
최신판 당신의 편집
1번째 줄: 1번째 줄:
'''배타적 논리합'''<!--배타적논리합-->(排他的論理合, '''XOR''', exclusive or)은 수리 논리학에서 주어진 2개의 명제 가운데 1개만 참일 경우 판단하는 논리 연산이며, 약칭으로 XOR, EOR, EXOR이라고 쓴다. exclusive OR, exclusive NOR, 보통 exclusive의 e나 x를 따와서 EOR 또는 XOR로 표기하는데, 보통 XOR로 많이 사용한다. exclusive는 '배타적'이라는 뜻으로, 우리들은 일상속에서 남을 배척하는 것을 보통 배타적이라고 말한다. X, Y가 0또는 1인 값을 가질 때, X와 Y의 배타적 논리합을 X<font>&#8853;</font>Y로 표현할 수 있다. X와 Y의 값이 같을 때 X<font>&#8853;</font>Y=0, 값이 다를 때 X<font>&#8853;</font>Y=1로 출력된다.
+
'''배타적 논리합'''(排他的論理合, exclusive or)은 수리 논리학에서 주어진 2개의 명제 가운데 1개만 참일 경우 판단하는 논리 연산이며, 약칭으로 XOR, EOR, EXOR이라고 쓴다. exclusive OR, exclusive NOR, 보통 exclusive의 e나 x를 따와서 EOR 또는 XOR로 표기하는데, 보통 XOR로 많이 사용한다. exclusive는 '배타적'이라는 뜻으로, 우리들은 일상속에서 남을 배척하는 것을 보통 배타적이라고 말한다. X, Y가 0또는 1인 값을 가질 때, X와 Y의 배타적 논리합을 X<font>&#8853;</font>Y로 표현할 수 있다. X와 Y의 값이 같을 때 X<font>&#8853;</font>Y=0, 값이 다를 때 X<font>&#8853;</font>Y=1로 출력된다.
  
 
연산자는 <font>&#8891;</font>, ⩒ 이다. 혼동이 되지 않을 경우 XOR, xor, <font>&#8853;</font>, <font>&#43;</font>, <font>&#8800;</font>라고도 쓴다. 추가로 컴퓨터 프로그래밍 등에서 응용 수학으로 비트간 배타적 논리합(bitwise exclusive or)을 간단히 배타적 논리합, XOR이라고 부르는 경우가 있다. 연산자는 XOR, xor, <font>&#8853;</font>, ^ 등을 사용한다.  
 
연산자는 <font>&#8891;</font>, ⩒ 이다. 혼동이 되지 않을 경우 XOR, xor, <font>&#8853;</font>, <font>&#43;</font>, <font>&#8800;</font>라고도 쓴다. 추가로 컴퓨터 프로그래밍 등에서 응용 수학으로 비트간 배타적 논리합(bitwise exclusive or)을 간단히 배타적 논리합, XOR이라고 부르는 경우가 있다. 연산자는 XOR, xor, <font>&#8853;</font>, ^ 등을 사용한다.  
10번째 줄: 10번째 줄:
 
라고 표현할 수 있다.
 
라고 표현할 수 있다.
  
2를 몫으로 하는 잉여류체<font>&#8484;</font>/<math>[2]</math>의 가감산(덧셈과 뺄셈이 같다)은 0을 거짓, 1을 참으로 생각하면 배타적 논리합이 된다.
+
2를 몫으로 하는 잉여류체<font>&#8484;</font>/[2] 의 가감산(덧셈과 뺄셈이 같다)은 0을 거짓, 1을 참으로 생각하면 배타적 논리합이 된다.
 
=== 대체 기호 ===
 
=== 대체 기호 ===
 
배타적 분리에 사용되는 기호는 응용 분야마다 다르고 주어진 논의 상황에서 강조되는 속성에 따라 달라진다. 약아 "XOR" 이외에도 표시된다.
 
배타적 분리에 사용되는 기호는 응용 분야마다 다르고 주어진 논의 상황에서 강조되는 속성에 따라 달라진다. 약아 "XOR" 이외에도 표시된다.
32번째 줄: 32번째 줄:
  
 
== 배타적 논리합 게이트 ==
 
== 배타적 논리합 게이트 ==
배타적 논리합(XOR)게이트는 참 입력의 개수가 홀수일 때 참(1/high) 출력을 보내는 디지털 논리 게이트이다. 배타적 논리합을 구현하며 게이트의 입력중 하나만이 오직 참이라면 그 결과는 참이 된다. 즉, XOR 게이트에서 입력 값이 A가 Low이고 입력 값이 B가 High이거나 또는 입력 값이 A가 High이고 입력 값이 B가 Low일 때 출력은 High가 되며, A와 B가 모두 High이거나 Low이면 출력은 Low가 된다. XOR 게이트의 기호는 두 가지로 전통적인 기호와 IEEE 기호가 있다.
+
배타적 논리합(XOR)게이트는 참 입력의 개수가 홀수일 때 참(1/high) 출력을 보내는 디지털 논리 게이트이다. 배타적 논리합을 구현하며 게이트의 입력중 하나만이 오직 참이라면 그 결과는 참이 된다. 즉, XOR 게이트에서 입력 값이 A가 Low이고 입력 값이 B가 High이거나 또는 입력 값이 A가 High이고 입력 값이 B가 Low일 때 출력은 High가 되며, A와 B가 모두 High이거나 Low이면 출력은 Low가 된다.
 
[[파일:배타적 논리합 게이트.png|썸네일|700픽셀|'''배타적 논리합 게이트''']]
 
[[파일:배타적 논리합 게이트.png|썸네일|700픽셀|'''배타적 논리합 게이트''']]
[[파일:XOR 게이트.png|썸네일|200픽셀||'''전통적인 XOR 기호''']]
+
=== 기호 ===
[[파일:IEEE XOR.png|썸네일|200픽셀|'''IEEE XOR 기호''']]
+
XOR 게이트의 기호는 두 가지인, 전통적인 기호와 IEEE 기호가 있다.
 +
[[파일:XOR 게이트.png|썸네일|200픽셀||'''전통적인 XOR 기호''']][[파일:IEEE XOR.png|썸네일|200픽셀|'''IEEE XOR 기호''']]
  
 
== 비트간 배타적 논리합 ==
 
== 비트간 배타적 논리합 ==
비트간 배타적 논리합은 이진법으로 표현한 수의 각 비트에 대한 2진 집합체 <font>&#8484;</font>/<math>[2]</math>에 가감산의 결과를 비트간 배타적 논리합, 배타적 비트화라고 하며 단순하게 배타적 논리합이라고도 한다. 비트간 배타적 논리합은 이진 유한체 <math>GF(2^{n}),n</math> <font>&#8712;</font> <font>&#8469;</font>로 가감산이 동일하다. 추가로 <font>&#8484;</font>/<math>[2]</math>는 이진 유한체 <math>GF(2)</math>이다.
+
비트간 배타적 논리합은 이진법으로 표현한 수의 각 비트에 대한 2진 집합체 <font>&#8484;</font>/<math>[2]</math>에 가감산의 결과를 비트간 배타적 논리합, 배타적 비트화라고 하며 단순하게 배타적 논리합이라고도 한다. 비트간 배타적 논리합은 이진 유한체 <math>GF(2^{n}),n</math> <font>&#8712;</font> <font>&#8469;</font>로 가감산이 동일하다. 추가로 <font>&#8484;</font>/<math>[2]</math>
 
+
{{암호 알고리즘|토막글}}
0(거짓)과 1(참)에 대한 배타적 논리합과 비트간 배타적 논리합은 같다. 하지만 0과 1이외 다른 형태의 데이터가 있는 환경에서는 다른 형태의 데이터와 백타적 논리합이 되어 결과적으로는 비트간 배타적 논리합과 다른 결과가 나오므로 주의해야 한다. 비트간 배타적 논리합은 비트 연산에서 특정 비트를 반전시키는 데 사용된다. 어느 수에서 반전을 하고 싶은 부분의 비트를 1로 채워진 수와 배타적 논리합을 하면 지정된 부분이 반전된 수를 얻을 수 있다.<br>
 
<math>0011</math><font>(&#8322;)</font> <font>&#8853;</font> <math>0110</math><font>(&#8322;)</font> <math>= 0101</math><font>(&#8322;)</font>
 
비트간 배타적 논리합으로 다수의 입력에 대한 오류 짝수 홀수 패리티를 계산하여 오류 검출에 사용된다. 이 목적으로 배타적 논리합 게이트를 트리 구조로 접속된 회로를 패리티 트리라고 한다.
 
=== 암호 키 ===
 
비트칸 배타적 논리합은 특정 비트의 반전이므로, 2회 반복하면 원래대로 된다.<br>
 
<math>(P</math> <font>&#8853;</font> <math>K)</math> <font>&#8853;</font> <math>K = P</math>
 
이를 이용하여, <math>K</math>의 키를 사용하여 암호화할 수 있다. <math>P</math>를 암호화하면 <math>P </math><font> &#8853;</font> <math>K</math>가 된다.
 
위의 예시로 <math>0011</math><font>(&#8322;)</font>는 키 <math>0110</math><font>(&#8322;)</font>를 이용하여 <math>0101</math><font>(&#8322;)</font>로 암호화된다.
 
<math>0110</math><font>(&#8322;)</font> <font>&#8853;</font> <math>0110</math><font>(&#8322;)</font> <math>= 0011</math><font>(&#8322;)</font>
 
으로 키를 이용하여 암호를 복원할 수 있다. 단지 이것만으로 쉽게 풀려버리기 때문에 실제 암호화에는 다른 여러 가지 연산을 같이 사용한다.
 
 
 
== 참고자료 ==
 
* 〈[https://en.wikipedia.org/wiki/Exclusive_or Exclusive or]〉, 《위키피디아》
 
* 〈[https://ko.wikipedia.org/wiki/%EB%B0%B0%ED%83%80%EC%A0%81_%EB%85%BC%EB%A6%AC%ED%95%A9#%ED%8A%B9%EC%A7%95 배타적 논리합]〉, 《위키백과》
 
* 〈[https://ko.wikipedia.org/wiki/XOR_%EA%B2%8C%EC%9D%B4%ED%8A%B8 XOR 게이트]〉, 《위키백과》
 
* thrillfighter, 〈[https://thrillfighter.tistory.com/287 배타적 OR(XOR), 배타적 NOR(XNOR) 게이트]〉, 2015-07-26
 
 
 
== 같이 보기==
 
* [[부정연산]]
 
* [[논리합]]
 
* [[논리곱]]
 
* [[부정논리합]]
 
* [[부정논리곱]]
 
 
 
{{암호 알고리즘|검토 필요}}
 

해시넷에서의 모든 기여는 다른 기여자가 편집, 수정, 삭제할 수 있다는 점을 유의해 주세요. 만약 여기에 동의하지 않는다면, 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다 (자세한 사항은 해시넷:저작권 문서를 보세요). 저작권이 있는 내용을 허가 없이 저장하지 마세요!

취소 | 편집 도움말 (새 창에서 열림)