#!/usr/bin/perl

sub szyfrowanie_pliku {
    my ( $alg, $klucz, $wart, $tryb, $plik_wej, $plik_wyj ) = @_;

    my $kod = SSLeay::Cipher::new( $alg );
    $kod->init( $klucz, $wart, $tryb );

    my $buf;

    while ( sysread( $plik_wej, $buf, 1024 ) ) {
        print $plik_wyj $kod->update($buf);
    }
    print $plik_wyj $kod->final;
}

# Szyfrowanie
open IN, "<file.plain";
open OUT, ">file.enc";
szyfrowanie_pliku ( 'idea-ecb', (pack "H16", "0123456789abcdef"), undef,
    1, *IN, *OUT );
close IN;
close OUT;

# Odszyfrowanie
open IN, "<file.enc";
open OUT, ">file.dec";
szyfrowanie_pliku ( 'idea-ecb', (pack "H16", "0123456789abcdef"), undef,
    0, *IN, *OUT );
close IN;
close OUT;

# "file.plain" powinien byc teraz identyczny jak "file.dec"

