| 
					
				 | 
			
			
				@@ -2440,34 +2440,52 @@ class Archiver: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Encryption modes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ++++++++++++++++ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        +----------+---------------+------------------------+--------------------------+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        | Hash/MAC | Not encrypted | Not encrypted,         | Encrypted (AEAD w/ AES)  | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        |          | no auth       | but authenticated      | and authenticated        | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        +----------+---------------+------------------------+--------------------------+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        | SHA-256  | none          | authenticated          | repokey, keyfile         | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        +----------+---------------+------------------------+--------------------------+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        | BLAKE2b  | n/a           | authenticated-blake2   | repokey-blake2,          | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        |          |               |                        | keyfile-blake2           | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        +----------+---------------+------------------------+--------------------------+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        On modern Intel/AMD CPUs (except very cheap ones), AES is usually 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        hardware-accelerated. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        BLAKE2b is faster than SHA256 on Intel/AMD 64-bit CPUs, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        which makes `authenticated-blake2` faster than `none` and `authenticated`. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        On modern ARM CPUs, NEON provides hardware acceleration for SHA256 making it faster 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        than BLAKE2b-256 there. NEON accelerates AES as well. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Hardware acceleration is always used automatically when available. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         `repokey` and `keyfile` use AES-CTR-256 for encryption and HMAC-SHA256 for 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         authentication in an encrypt-then-MAC (EtM) construction. The chunk ID hash 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         is HMAC-SHA256 as well (with a separate key). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        These modes are compatible with borg 1.0.x. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        These modes are compatible with Borg 1.0.x. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         `repokey-blake2` and `keyfile-blake2` are also authenticated encryption modes, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         but use BLAKE2b-256 instead of HMAC-SHA256 for authentication. The chunk ID 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         hash is a keyed BLAKE2b-256 hash. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        These modes are new and *not* compatible with borg 1.0.x. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        These modes are new and *not* compatible with Borg 1.0.x. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         `authenticated` mode uses no encryption, but authenticates repository contents 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        through the same keyed BLAKE2b-256 hash as the other blake2 modes (it uses it 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        as the chunk ID hash). The key is stored like repokey. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        This mode is new and *not* compatible with borg 1.0.x. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        through the same HMAC-SHA256 hash as the `repokey` and `keyfile` modes (it uses it 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        as the chunk ID hash). The key is stored like `repokey`. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        This mode is new and *not* compatible with Borg 1.0.x. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        `none` mode uses no encryption and no authentication. It uses sha256 as chunk 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        `authenticated-blake2` is like `authenticated`, but uses the keyed BLAKE2b-256 hash 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        from the other blake2 modes. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        This mode is new and *not* compatible with Borg 1.0.x. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        `none` mode uses no encryption and no authentication. It uses SHA256 as chunk 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ID hash. Not recommended, rather consider using an authenticated or 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         authenticated/encrypted mode. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        This mode is compatible with borg 1.0.x. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Hardware acceleration will be used automatically. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        On modern Intel/AMD CPUs (except very cheap ones), AES is usually 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        hardware-accelerated. BLAKE2b is faster than SHA256 on Intel/AMD 64bit CPUs, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        which makes `authenticated` faster than `none`. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        On modern ARM CPUs, NEON provides hardware acceleration for SHA256 making it faster 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        than BLAKE2b-256 there. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Use it only for new repositories where no encryption is wanted **and** when compatibility 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        with 1.0.x is important. If compatibility with 1.0.x is not important, use 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        `authenticated-blake2` or `authenticated` instead. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        This mode is compatible with Borg 1.0.x. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         """) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         subparser = subparsers.add_parser('init', parents=[common_parser], add_help=False, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                           description=self.do_init.__doc__, epilog=init_epilog, 
			 |