다양한 압축, 암호화 및 아카이브 형식 이해하기
컴퓨터 용어에서 아카이브는 다양한 파일과 폴더를 내부에 저장하는 단일 파일입니다. 여러 가지 아카이브 형식이 있으며 각 형식은 장단점이 있습니다. 일부 아카이브 형식은 압축 지원을 제공하여 파일 크기를 줄여주고, 다른 형식은 암호화를 지원합니다. 맞습니다, 일부 아카이브 형식은 둘 다 압축과 암호화를 지원합니다. 사용되는 압축 및 암호화 알고리즘과 다양한 아카이브 형식에 대해 더 알아보겠습니다.
압축 알고리즘
압축 알고리즘은 아카이브가 파일을 압축하고 전체 파일 크기를 줄이는 데 사용하는 방법입니다.

1. LZMA/LZMA2
Lempel-Ziv-Markov (LZMA) 체인 알고리즘은 손실 없는 데이터 압축 알고리즘입니다. LZMA는 복잡한 데이터 구조를 사용하여 한 번에 한 비트를 인코딩하는 사전 압축 알고리즘을 사용합니다.
LZMA2는 압축되지 않은 데이터와 LZMA 압축 데이터를 모두 포함하는 컨테이너입니다. 데이터의 다중 스레드 압축 및 압축 해제를 지원합니다. 또한 다른 압축 알고리즘으로는 압축할 수 없는 데이터를 압축할 수 있습니다.
2. Burrows-Wheeler 변환 알고리즘 (BWT)
BWT는 텍스트 문자열을 순서대로 순열한 다음 반복되는 문자를 기호로 대체하여 압축합니다.
3. PPM
부분 일치를 통한 예측 (PPM)은 압축되지 않은 기호 스트림에서 이전 기호 집합을 사용하여 스트림의 다음 기호를 예측하는 통계적 데이터 압축 방법입니다.
4. Deflate
Deflate는 LZ77 및 허프만 코딩 알고리즘의 조합을 사용하여 데이터를 압축하는 인기 있는 데이터 압축 알고리즘입니다 (LZMA 및 PPM 알고리즘을 결합하여 더 많은 압축을 생성). Deflate는 특허로 제한된 구현이 없기 때문에 매우 인기가 있으며 특히 리눅스에서 널리 사용됩니다.
암호화 알고리즘
이제 몇 가지 인기 있는 암호화 방법을 살펴보겠습니다:

1. DES
데이터 암호화 표준은 비공식 비밀 키를 사용하여 데이터를 암호화하고 복호화합니다. 비밀 키는 56비트에서 64비트 주소 공간에서 무작위로 선택됩니다.
2. AES
고급 암호화 표준은 미국 기관에서 민감한 데이터를 보호하기 위해 사용하는 암호화 알고리즘입니다. 128, 192 및 256비트 암호화를 사용하여 데이터를 암호화할 수 있습니다. AES는 대칭 키 알고리즘을 사용하므로 데이터를 암호화하고 복호화하는 데 공통 키를 사용합니다.
3. Blowfish
Blowfish 암호화 알고리즘은 64비트 블록 크기와 32비트에서 448비트까지의 가변 키 길이로 아카이브를 암호화합니다.
참고: 여러 다른 암호화 알고리즘이 있지만 위에서 언급한 세 가지가 가장 많이 사용됩니다.
아카이브 형식
여러 가지 아카이브 형식이 있습니다. 아래에서는 각 아카이브 형식을 세 가지 매개변수를 사용하여 평가합니다 - 압축 및 암호화 지원 여부, 사용 가능한 운영 체제 및 소프트웨어.
1. Tar
테이프 아카이브 (Tar)는 가장 오래된 아카이브 형식 중 하나입니다. 처음에는 순차 테이프 드라이브에 데이터를 결합하고 기록하는 데 사용되었지만 나중에 압축 형식으로 표준화되었습니다. Tar는 주로 리눅스에서 사용되며 압축이나 암호화를 지원하지 않습니다. 추가 소프트웨어를 설치하면 Windows에서도 사용할 수 있습니다. 대부분의 현대 아카이빙 유틸리티는 이 형식을 지원합니다. 예외로는 Disk Archiver와 KGB Archiver가 있습니다.
2. GZ
GZ 또는 GZip는 Windows와 리눅스 모두에서 사용되는 가장 인기 있는 압축 형식 중 하나입니다. GZip은 압축된 파일을 압축하기 위해 Deflate 압축 알고리즘을 사용합니다. GZip은 또한 대용량 GZip 파일을 쉽게 공유하고 전송할 수 있도록 더 작은 부분으로 나눌 수 있는 다중 부분 파일 전송을 지원합니다. GZip은 매우 인기가 있기 때문에 대부분의 현대 아카이빙 유틸리티는 GZip 형식을 사용하여 파일을 압축하고 압축 해제하는 것을 지원합니다. 여기에는 7-Zip, BetterZip, PKZip, WinZip 및 WinRAR이 포함됩니다.
3. BZ/BZ2
BZ는 GZ와 매우 유사하지만 Burrows-Wheelers 변환 알고리즘을 사용하여 약간 더 많은 압축과 더 작은 파일 크기를 제공합니다. 압축 속도는 느리지만 압축 해제 속도는 꽤 빠릅니다. GZ를 지원하는 대부분의 소프트웨어는 BZ도 지원합니다.
4. Zip

Zip은 아마도 가장 잘 알려져 있고 사용되는 아카이브 형식일 것입니다. Zip은 Deflate 알고리즘을 사용하며 손실 없는 압축을 지원합니다. 또한 AES 및 DES 암호화를 지원합니다. 대부분의 현대 운영 체제는 Zip 형식에 대한 기본 지원을 제공하므로 Zip 파일을 아카이브하고 압축 해제하는 데 별도의 소프트웨어가 필요하지 않습니다.
5. 7Z

7Z 아카이브 형식은 7-Zip이라는 무료 오픈 소스 유틸리티와 함께 도입되었습니다. 이는 대부분의 데이터 압축 및 암호화 알고리즘을 지원하는 가장 진보된 일반 압축 및 아카이브 형식입니다. 7Z 형식은 다른 형식보다 파일을 더 많이 압축하지만 처리 속도는 상대적으로 느립니다. 또 다른 제한 사항은 7-Zip 소프트웨어가 Windows에서만 사용할 수 있다는 것입니다. Mac이나 리눅스에 대한 시각적 지원은 없습니다. 7Z는 또한 다중 부분 아카이빙을 지원합니다.
6. RAR

RAR는 독점 아카이브 형식입니다. 다른 유틸리티인 7-Zip 및 WinZip로 읽고 추출할 수 있지만 WinRAR 유틸리티를 사용하여서만 생성할 수 있습니다. RAR는 7Z가 출시되기 전까지 다중 부분 아카이빙에 가장 인기 있는 형식이었습니다. 이제 7Z는 RAR가 WinRAR 소프트웨어에 대해 사용자에게 비용을 청구하는 것과 같은 작업을 무료로 수행할 수 있습니다. RAR는 AES 암호화를 지원합니다.
기타 압축 및 아카이빙 형식
상대적으로 덜 알려진 형식은 다음과 같습니다:
XZ는 LZMA2 압축 알고리즘을 사용하는 손실 없는 데이터 압축 형식입니다. 7Z의 축소된 버전으로 생각할 수 있습니다.
LHA는 이전에 LHarc로 알려졌으며 주로 설치 파일과 게임을 압축하는 데 사용됩니다 (주로 일본에서 사용됨). 흥미롭게도 일본 버전의 Windows 7은 LHA 아카이브에 대한 기본 지원을 제공합니다.
ACE는 2000년대 초 RAR 형식의 경쟁자였던 독점 데이터 압축 아카이브 파일 형식입니다.
StuffIt은 주로 Mac용으로 출시되었지만 이후 Windows, Linux 및 Solaris 버전이 출시되었습니다. 이는 StuffIt 유틸리티에서 사용되는 독점 압축 형식입니다.
결론
리눅스에서 가장 일반적으로 사용되는 형식은 gz (또는 tar.gz)이며, 그 다음은 bz입니다. 반면 Windows 또는 Mac에서는 가장 일반적으로 사용되는 형식은 Zip입니다. 크로스 플랫폼 호환성을 위해서는 Zip 형식이 가장 적합합니다. 보안, 높은 압축 및 다중 부분 아카이빙과 같은 기능이 필요하다면 7Z 형식을 선택하십시오. RAR는 7Z와 유사하지만 가격이 있습니다. 가능한 한 피하십시오.
어떤 파일 형식과 유틸리티를 사용하여 압축하십니까?
이미지 출처: Spring, M-94 암호 장치 복제품