A PHP Error was encountered

Severity: Notice

Message: Trying to access array offset on value of type null

Filename: ver3/Article.php

Line Number: 124

Backtrace:

File: /volume1/web/PhpstormProjects/www_polymath_co_kr/application/controllers/ver3/Article.php
Line: 124
Function: _error_handler

File: /volume1/web/PhpstormProjects/www_polymath_co_kr/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: Notice

Message: Trying to access array offset on value of type null

Filename: ver3/Article.php

Line Number: 125

Backtrace:

File: /volume1/web/PhpstormProjects/www_polymath_co_kr/application/controllers/ver3/Article.php
Line: 125
Function: _error_handler

File: /volume1/web/PhpstormProjects/www_polymath_co_kr/index.php
Line: 315
Function: require_once

자유 기사 기사 작성법
일상생활 속 수학을 찾아 보세요!
[자유 기사] 정보를 안전하게 보내는 방법은?
pixel 2020.05.31 06:57

우리는 살아가면서 인터넷으로 많은 정보를 주고받죠. 하지만 만약 이 정보에 오류가 난다면 어떨까요? 평범한 상황에서는 문제가 없을 수도 있습니다. 하지만 인공위성을 날리는 것과 같은 중요한 상황일 때는 이런 작은 오류가 큰 재앙을 일으킬 수도 있죠.

 

정보의 오류를 찾는 방법은 여러 가지가 있습니다. 우선 대표적인 방법은 패리티 비트라는 것입니다. 예를 들어 11001이란 이진법 숫자가 있다고 하죠. 여기서 각각의 자리수 1또는 0을 비트라고 합니다. 이제 여기의 맨 마지막 자리에, 전체 비트의 합이 짝수가 되게 1 또는 0을 붙이는 방법이 있습니다. 110011이라 하는 것이죠. 만약에 이 숫자가 전달되는 도중에 110111이 되었다 해 봅시다. 그러면 이 정보에 오류가 생겼다는 것을 알게 될 수 있겠죠. 실제로 바코드, 주민등록번호 등에 비슷한 방법이 쓰이고 있습니다. 하지만 문제도 있습니다. 말 그대로 오류만 탐지할 뿐, 어디에서 오류가 발생한 건지는 모르는 겁니다. 또한 두 개 이상의 비트가 오류가 나면 오류가 난지 모를수도 있다는 점이라는 거죠.

 

또 다른 방법을 생각해 보죠. 예를 들어 같은 메시지를 5번 반복해서 많이 나온 것을 원래 메시지로 생각하는 법은 어떨까요? 이 경우엔 확실하긴 하겠지만, 메시지의 정보 효율이 비효율적이라는 단점이 있습니다. 아니면 다른 방법도 있습니다. 예를 들어 1을 one 2를 two 3을 three 등으로 바꾸는 거죠. 이러면 만약에 ome tpo tjree 러 와도 1,2,3이라는 것을 알 수 있겠죠. 이런 잉여 정보를 보내는 방법을 리던던시(Redundancy) 라고 하는데, 실제로 a은 alpha b은 bravo 이런 식으로 비행기 교신 등에 사용되고 있습니다. 또 다른 방법은 해밍 코드라는 것입니다. 이 방법은 벨 연구소의 리처드 해밍(Richard Hamming)이 개발한 방법으로, 이 방법을 사용하면 정보의 효율을 높일 수 있습니다. 이렇게 정보를 처리하고 전달하는 것에 관한 이론을 클로드 섀넌(Claude Shannon)이 만든 정보 이론이라고 합니다.

  

<오늘의 QUIZ>

수동이는 같은 메시지를

1001110

1011110

1001010

이렇게 세 번 받았습니다. 이때, 원래 받아야 했던 메시지는 무엇이었을까요?

A PHP Error was encountered

Severity: Notice

Message: Undefined variable: tag_news_list

Filename: inc/article_view.php

Line Number: 90

Backtrace:

File: /volume1/web/PhpstormProjects/www_polymath_co_kr/application/views/ver3/inc/article_view.php
Line: 90
Function: _error_handler

File: /volume1/web/PhpstormProjects/www_polymath_co_kr/application/controllers/ver3/Article.php
Line: 221
Function: view

File: /volume1/web/PhpstormProjects/www_polymath_co_kr/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: count(): Parameter must be an array or an object that implements Countable

Filename: inc/article_view.php

Line Number: 90

Backtrace:

File: /volume1/web/PhpstormProjects/www_polymath_co_kr/application/views/ver3/inc/article_view.php
Line: 90
Function: _error_handler

File: /volume1/web/PhpstormProjects/www_polymath_co_kr/application/controllers/ver3/Article.php
Line: 221
Function: view

File: /volume1/web/PhpstormProjects/www_polymath_co_kr/index.php
Line: 315
Function: require_once

수학동아 기자의 한마디
수학동아 기자 2020.06.01
정보를 안전하게 보내는 방법이 생각보다 간단한 원리여서 신기하네요.
그런데 이 세상에 아주 다양한 정보 형태가 있잖아요. 이미지일 수도 있고 영상일 수도 있고요.
모든 정보가 이런 원리로 보호될 수 있을까요? 정보가 효과적으로 보호된 사례, 나름 보호하려고 했지만 실패한 사례도 있는지 궁금하네요.
기사에 쓴 내용을 토대로 더 많은 궁금증과 답을 덧붙인다면 풍성한 기사가 될 거예요. 그땐 어울리는 이미지도 꼭 첨부하고요!
이 기사 어떠셨나요?

유익해요

0

웃겨요

0

신기해요

0

어려워요

0

수학동아 - 폴리매스
본문바로가기
  • 폴리매스 문제는 과학기술진흥기금 및 복권기금의 재원으로 운영되고, 과학기술정보통신부와 한국과학창의재단의 지원을 받아 수행된 성과물로 우리나라의 과학기술 발전과 사회적 가치 증진에 기여하고 있습니다.

  • ☎문의 02-6749-3911