Purpose
Encrypt a document
using an RSA public key.
Synopsis
function RSApubencrypt(kfile:string, src:string, dest:string):integer
Arguments
kfile
|
File containing the public key
|
src
|
Name of the file to encrypt
|
dst
|
Name of the file to store the encrypted document
|
Return value
Length of the resulting document or
-1 in the case of an error.
Further information
1. This function can be used to encrypt a document using an RSA public key (with PKCS1 OAEP as the padding algorithm). Decryption will be done using function
RSAprivdecrypt with the help of the corresponding RSA private key.
2. The algorithm used here cannot handle documents larger than
(RSAgetkeysize(kfile)/8-41) bytes. Typically, encryption of larger documents will be performed with a
symmetric cipher (see
crypt I/O driver, Section
Driver crypt) using a randomly generated key (that can be produced with
sslrandomdata), in which case the asymmetric cipher is used to encrypt only this random key. The decryption then also operates in two steps: the key is first decrypted using
RSAprivdecrypt (with a private key) and after this the document can be restored from the decrypted symmetric key.
3. If the key file name does not include an explicit path (
e.g.
"somekey"), it is searched for in the default public keys directory located at
getparam("ssl_dir")+"/pubkeys" instead of the current working directory. It is required to prefix the key file name with
"./" in order to access a key file from the current directory (
e.g.
"./somekey").
Related topics
Module
© 2001-2025 Fair Isaac Corporation. All rights reserved. This documentation is the
property of Fair Isaac Corporation (“FICO”). Receipt or possession of this documentation does not
convey rights to disclose, reproduce, make derivative works, use, or allow others to use it except
solely for internal evaluation purposes to determine whether to purchase a license to the software
described in this documentation, or as otherwise set forth in a written software license agreement
between you and FICO (or a FICO affiliate). Use of this documentation and the software described in
it must conform strictly to the foregoing permitted uses, and no other use is permitted.