# # spec file for package perl-Crypt-Rijndael # # Copyright (c) 2021 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # %define cpan_name Crypt-Rijndael Name: perl-Crypt-Rijndael Version: 1.16 Release: 0 #Upstream: SUSE-Public-Domain Summary: Crypt::CBC compliant Rijndael encryption module License: LGPL-3.0-only URL: https://metacpan.org/release/%{cpan_name} Source0: https://cpan.metacpan.org/authors/id/L/LE/LEONT/%{cpan_name}-%{version}.tar.gz Source1: cpanspec.yml BuildRequires: perl BuildRequires: perl-macros %{perl_requires} %description This module implements the Rijndael cipher, which has just been selected as the Advanced Encryption Standard. * keysize Returns the keysize, which is 32 (bytes). The Rijndael cipher actually supports keylengths of 16, 24 or 32 bytes, but there is no way to communicate this to 'Crypt::CBC'. * blocksize The blocksize for Rijndael is 16 bytes (128 bits), although the algorithm actually supports any blocksize that is any multiple of our bytes. 128 bits, is however, the AES-specified block size, so this is all we support. * $cipher = Crypt::Rijndael->new( $key [, $mode] ) Create a new 'Crypt::Rijndael' cipher object with the given key (which must be 128, 192 or 256 bits long). The additional '$mode' argument is the encryption mode, either 'MODE_ECB' (electronic codebook mode, the default), 'MODE_CBC' (cipher block chaining, the same that 'Crypt::CBC' does), 'MODE_CFB' (128-bit cipher feedback), 'MODE_OFB' (128-bit output feedback), or 'MODE_CTR' (counter mode). ECB mode is very insecure (read a book on cryptography if you don't know why!), so you should probably use CBC mode. * $cipher->set_iv($iv) This allows you to change the initial value vector used by the chaining modes. It is not relevant for ECB mode. * $cipher->encrypt($data) Encrypt data. The size of '$data' must be a multiple of 'blocksize' (16 bytes), otherwise this function will croak. Apart from that, it can be of (almost) any length. * $cipher->decrypt($data) Decrypts '$data'. %prep %autosetup -n %{cpan_name}-%{version} %build perl Makefile.PL INSTALLDIRS=vendor OPTIMIZE="%{optflags}" %make_build %check make test %install %perl_make_install %perl_process_packlist %perl_gen_filelist %files -f %{name}.files %doc Changes NEWS README %license COPYING LICENSE %changelog