Files
GopherGate/target/doc/openssl/aes/fn.aes_ige.html
2026-02-26 12:00:21 -05:00

20 lines
4.8 KiB
HTML

<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Performs AES IGE encryption or decryption"><title>aes_ige in openssl::aes - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="openssl" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11) (Arch Linux rust 1:1.93.1-1)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../../static.files/storage-e2aeef58.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-044be391.svg"></head><body class="rustdoc fn"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">aes_ige</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../openssl/index.html">openssl</a><span class="version">0.10.75</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">aes_ige</a></h2><h3><a href="#">Sections</a></h3><ul class="block top-toc"><li><a href="#panics" title="Panics">Panics</a></li></ul></section><div id="rustdoc-modnav"><h2><a href="index.html">In openssl::<wbr>aes</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../index.html">openssl</a>::<wbr><a href="index.html">aes</a></div><h1>Function <span class="fn">aes_ige</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../src/openssl/aes.rs.html#165-184">Source</a> </span></div><pre class="rust item-decl"><code>pub fn aes_ige(
in_: &amp;[<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.u8.html">u8</a>],
out: &amp;mut [<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.u8.html">u8</a>],
key: &amp;<a class="struct" href="struct.AesKey.html" title="struct openssl::aes::AesKey">AesKey</a>,
iv: &amp;mut [<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.u8.html">u8</a>],
mode: <a class="enum" href="../symm/enum.Mode.html" title="enum openssl::symm::Mode">Mode</a>,
)</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Performs AES IGE encryption or decryption</p>
<p>AES IGE (Infinite Garble Extension) is a form of AES block cipher utilized in
OpenSSL. Infinite Garble refers to propagating forward errors. IGE, like other
block ciphers implemented for AES requires an initialization vector. The IGE mode
allows a stream of blocks to be encrypted or decrypted without having the entire
plaintext available. For more information, visit <a href="http://www.links.org/files/openssl-ige.pdf">AES IGE Encryption</a>.</p>
<p>This block cipher uses 16 byte blocks. The rust implementation will panic
if the input or output does not meet this 16-byte boundary. Attention must
be made in this low level implementation to pad the value to the 128-bit boundary.</p>
<h2 id="panics"><a class="doc-anchor" href="#panics">§</a>Panics</h2>
<p>Panics if <code>in_</code> is not the same length as <code>out</code>, if that length is not a multiple of 16, or if
<code>iv</code> is not at least 32 bytes.</p>
<p>This corresponds to <a href="https://www.openssl.org/docs/manmaster/man3/AES_ige_encrypt.html"><code>AES_ige_encrypt</code></a>.</p>
</div></details></section></div></main></body></html>