융보공 리뷰

[2024.05.03] 7주차 리뷰

yooon81 2024. 5. 10. 02:25
c언어

 

 

<배열>

  • 배열이름: 배열 이름은 할당된 메모리 공간의 사작 주소

  • 배열 인수 전달: 배열을 인수로 전달할 때, ‘배열 이름’만 전달

매개변수는 일반 배열처럼 선언하지만, 이 때 크기는 무시됨

매개변수는 일반 배열처럼 선언하지만, 이 때 크기는 무시됨

  • 배열원소 변경: 배열을 인수로 전달받은 함수에서 배열 원소의 값을 변경하면 원본 배열의 원소 값이 바뀜
  • 2차원 배열

배열 원소가 1차원 배열인 배열

 

 

초기화 방법에 따라 값 생략의 효과가 달라짐

 

<포인터>

  • 포인터: 데이터를 저장하기 위해 할당된 메모리 공간의 주소를 나타냄

- 포인터 상수 : 메모리 주소 값

- 포인터 변수 : 주소 값을 저장할 수 있는 변수

 

  • 포인터 선언과 사용 포인터 사용 예


- int one = 1;                                               // int 변수
- int *to_one;                                               // int 포인터 변수
- to_one = &one;                                         // to_one은 one을 가리킴
- one = one + 1;                                          // one → 2
- one = *to_one + 1                                     // one → 3
- *to_one = one + 1 자료형 *포인터변수;    // one → 4
 
포인터 제1법칙
 
“주소연산을 취한 결과에 간접참조연산을 취하면 원래 변수와 같다“
 
  인수 전달

- call by value (인수를 값으로 전달) - 함수가 호출되면 인자 값을 스택에 복사

- call by reference (인수를 주소로 전달) - 전달하려는 변수의 주소를 함수에 전달 → 변수 자체 전달
 
•  배열과 포인터
 
•  포인터 제 2법칙

" 배열 첨자연산 = 포인터 연산 ”

 블록암호

 

 

   블록암호 개념: 고정된 크기의 블록으로 데이터를 처리하는 대칭키 암호화 기술
- 데이터를 블록 단위로 분할하고, 각 블록에 대해 암호화 및 복호화를 수행함.
- 주로 텍스트 데이터나 파일 같은 대용량 데이터의 보안을 위해 사용됨.
 
   동작 방식 
1. 분할: 평문(암호화되지 않은 원본 데이터)을 블록으로 나눈다.
2. 암호화: 각 블록에 대해 암호화 알고리즘을 적용하여 암호문(암호화된 데이터)을 생성함.
3. 복호화: 암호문을 블록 블록 단위로 나눈 후. 각 블록에 대해 복호화 알고리즘을 적용하여 평문을 복원함.
 
혼돈:  평문 1비트의 변화가 아호문에 어떤 변화를 초래할 지 예측할 수 업어야 함.
 
확산: 평문을 구성하는 각각의 비트들의 정보가 여러 개의 암호문 비트에 영향을 미쳐야 함.

 

두 가지 모두를 충족시키는 것이 좋은 암호이다.

 

  블록암호 운영모드

 

모드: 긴 평문을 블록으로 나눠서 암호화하는 방식

 

   ECB 모드란?

평문 블록을 암호화한 것이 그대로 암호문 블록이 되는 것을 말함.

 

장점: 암호화와 복호화가 병렬적으로 가능, 일부 브록만 독립적으로 암호화가 가능, 블록 오류가 다른 블록에게 영향을 주지 않음

 

단점: 공격에 취약함 

 

와이어샤크

 

  와이어샤크 설치하기
   와이어샤크 기본 사용법

   와이어샤크 패킷 분석 실습

 

패스워드 저장 코드 실습

 

 

 

 

 

'융보공 리뷰' 카테고리의 다른 글

8주차 리뷰  (0) 2024.05.20
7주차 리뷰  (0) 2024.05.17
4주차 리뷰  (0) 2024.05.05
4주차 리뷰  (0) 2024.04.08
2주차 리뷰 (세계 보안 엑스포 2024)  (0) 2024.03.26