Files
KSDK_2.0_MK22FN512xxx12/docs/Kinetis SDK v.2.0 API Reference Manual/group__ltc__driver__des.html
2016-08-09 18:06:35 +02:00

1860 lines
97 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>Kinetis SDK v.2.0 API Reference Manual: LTC DES driver</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
$(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="fs_logo.gif"/></td>
<td style="padding-left: 0.5em;">
<div id="projectname">Kinetis SDK v.2.0 API Reference Manual
&#160;<span id="projectnumber">Rev. 0</span>
</div>
<div id="projectbrief">Freescale Semiconductor, Inc.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>API&#160;Reference</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('group__ltc__driver__des.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">LTC DES driver<div class="ingroups"><a class="el" href="group__ltc__driver__synchronous__blocking.html">LTC Blocking APIs</a></div></div> </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Overview</h2>
<p>This section describes the programming interface of the LTC DES driver. </p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga359a937ff01d6fd66e44bda5d39bd637"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ltc__driver__des.html#ga359a937ff01d6fd66e44bda5d39bd637">LTC_DES_KEY_SIZE</a>&#160;&#160;&#160;8</td></tr>
<tr class="memdesc:ga359a937ff01d6fd66e44bda5d39bd637"><td class="mdescLeft">&#160;</td><td class="mdescRight">LTC DES key size - 64 bits. <a href="#ga359a937ff01d6fd66e44bda5d39bd637">More...</a><br/></td></tr>
<tr class="separator:ga359a937ff01d6fd66e44bda5d39bd637"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga38decd985c231cf4087bf216e7abba11"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga38decd985c231cf4087bf216e7abba11"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ltc__driver__des.html#ga38decd985c231cf4087bf216e7abba11">LTC_DES_IV_SIZE</a>&#160;&#160;&#160;8</td></tr>
<tr class="memdesc:ga38decd985c231cf4087bf216e7abba11"><td class="mdescLeft">&#160;</td><td class="mdescRight">LTC DES IV size - 8 bytes. <br/></td></tr>
<tr class="separator:ga38decd985c231cf4087bf216e7abba11"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga2f93caa08369ce8691c906896a7b0cac"><td class="memItemLeft" align="right" valign="top">status_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ltc__driver__des.html#ga2f93caa08369ce8691c906896a7b0cac">LTC_DES_EncryptEcb</a> (LTC_Type *base, const uint8_t *plaintext, uint8_t *ciphertext, uint32_t size, const uint8_t key[<a class="el" href="group__ltc__driver__des.html#ga359a937ff01d6fd66e44bda5d39bd637">LTC_DES_KEY_SIZE</a>])</td></tr>
<tr class="memdesc:ga2f93caa08369ce8691c906896a7b0cac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encrypts DES using ECB block mode. <a href="#ga2f93caa08369ce8691c906896a7b0cac">More...</a><br/></td></tr>
<tr class="separator:ga2f93caa08369ce8691c906896a7b0cac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga620bdd5fff13cf4ed93569450f9004aa"><td class="memItemLeft" align="right" valign="top">status_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ltc__driver__des.html#ga620bdd5fff13cf4ed93569450f9004aa">LTC_DES_DecryptEcb</a> (LTC_Type *base, const uint8_t *ciphertext, uint8_t *plaintext, uint32_t size, const uint8_t key[<a class="el" href="group__ltc__driver__des.html#ga359a937ff01d6fd66e44bda5d39bd637">LTC_DES_KEY_SIZE</a>])</td></tr>
<tr class="memdesc:ga620bdd5fff13cf4ed93569450f9004aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decrypts DES using ECB block mode. <a href="#ga620bdd5fff13cf4ed93569450f9004aa">More...</a><br/></td></tr>
<tr class="separator:ga620bdd5fff13cf4ed93569450f9004aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga04c0c01b90d4d4f92360e282169df313"><td class="memItemLeft" align="right" valign="top">status_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ltc__driver__des.html#ga04c0c01b90d4d4f92360e282169df313">LTC_DES_EncryptCbc</a> (LTC_Type *base, const uint8_t *plaintext, uint8_t *ciphertext, uint32_t size, const uint8_t iv[<a class="el" href="group__ltc__driver__des.html#ga38decd985c231cf4087bf216e7abba11">LTC_DES_IV_SIZE</a>], const uint8_t key[<a class="el" href="group__ltc__driver__des.html#ga359a937ff01d6fd66e44bda5d39bd637">LTC_DES_KEY_SIZE</a>])</td></tr>
<tr class="memdesc:ga04c0c01b90d4d4f92360e282169df313"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encrypts DES using CBC block mode. <a href="#ga04c0c01b90d4d4f92360e282169df313">More...</a><br/></td></tr>
<tr class="separator:ga04c0c01b90d4d4f92360e282169df313"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga86ac04c3a6dac44ec8113c3489b87cad"><td class="memItemLeft" align="right" valign="top">status_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ltc__driver__des.html#ga86ac04c3a6dac44ec8113c3489b87cad">LTC_DES_DecryptCbc</a> (LTC_Type *base, const uint8_t *ciphertext, uint8_t *plaintext, uint32_t size, const uint8_t iv[<a class="el" href="group__ltc__driver__des.html#ga38decd985c231cf4087bf216e7abba11">LTC_DES_IV_SIZE</a>], const uint8_t key[<a class="el" href="group__ltc__driver__des.html#ga359a937ff01d6fd66e44bda5d39bd637">LTC_DES_KEY_SIZE</a>])</td></tr>
<tr class="memdesc:ga86ac04c3a6dac44ec8113c3489b87cad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decrypts DES using CBC block mode. <a href="#ga86ac04c3a6dac44ec8113c3489b87cad">More...</a><br/></td></tr>
<tr class="separator:ga86ac04c3a6dac44ec8113c3489b87cad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga20d895764298003183169023e70edf75"><td class="memItemLeft" align="right" valign="top">status_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ltc__driver__des.html#ga20d895764298003183169023e70edf75">LTC_DES_EncryptCfb</a> (LTC_Type *base, const uint8_t *plaintext, uint8_t *ciphertext, uint32_t size, const uint8_t iv[<a class="el" href="group__ltc__driver__des.html#ga38decd985c231cf4087bf216e7abba11">LTC_DES_IV_SIZE</a>], const uint8_t key[<a class="el" href="group__ltc__driver__des.html#ga359a937ff01d6fd66e44bda5d39bd637">LTC_DES_KEY_SIZE</a>])</td></tr>
<tr class="memdesc:ga20d895764298003183169023e70edf75"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encrypts DES using CFB block mode. <a href="#ga20d895764298003183169023e70edf75">More...</a><br/></td></tr>
<tr class="separator:ga20d895764298003183169023e70edf75"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga617acdcde2256d2e055aa6ce7815d5d1"><td class="memItemLeft" align="right" valign="top">status_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ltc__driver__des.html#ga617acdcde2256d2e055aa6ce7815d5d1">LTC_DES_DecryptCfb</a> (LTC_Type *base, const uint8_t *ciphertext, uint8_t *plaintext, uint32_t size, const uint8_t iv[<a class="el" href="group__ltc__driver__des.html#ga38decd985c231cf4087bf216e7abba11">LTC_DES_IV_SIZE</a>], const uint8_t key[<a class="el" href="group__ltc__driver__des.html#ga359a937ff01d6fd66e44bda5d39bd637">LTC_DES_KEY_SIZE</a>])</td></tr>
<tr class="memdesc:ga617acdcde2256d2e055aa6ce7815d5d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decrypts DES using CFB block mode. <a href="#ga617acdcde2256d2e055aa6ce7815d5d1">More...</a><br/></td></tr>
<tr class="separator:ga617acdcde2256d2e055aa6ce7815d5d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaecf99b9cd710ccac7bd169d5393508d9"><td class="memItemLeft" align="right" valign="top">status_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ltc__driver__des.html#gaecf99b9cd710ccac7bd169d5393508d9">LTC_DES_EncryptOfb</a> (LTC_Type *base, const uint8_t *plaintext, uint8_t *ciphertext, uint32_t size, const uint8_t iv[<a class="el" href="group__ltc__driver__des.html#ga38decd985c231cf4087bf216e7abba11">LTC_DES_IV_SIZE</a>], const uint8_t key[<a class="el" href="group__ltc__driver__des.html#ga359a937ff01d6fd66e44bda5d39bd637">LTC_DES_KEY_SIZE</a>])</td></tr>
<tr class="memdesc:gaecf99b9cd710ccac7bd169d5393508d9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encrypts DES using OFB block mode. <a href="#gaecf99b9cd710ccac7bd169d5393508d9">More...</a><br/></td></tr>
<tr class="separator:gaecf99b9cd710ccac7bd169d5393508d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga59e855bd731338c444083fd88bb4ee94"><td class="memItemLeft" align="right" valign="top">status_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ltc__driver__des.html#ga59e855bd731338c444083fd88bb4ee94">LTC_DES_DecryptOfb</a> (LTC_Type *base, const uint8_t *ciphertext, uint8_t *plaintext, uint32_t size, const uint8_t iv[<a class="el" href="group__ltc__driver__des.html#ga38decd985c231cf4087bf216e7abba11">LTC_DES_IV_SIZE</a>], const uint8_t key[<a class="el" href="group__ltc__driver__des.html#ga359a937ff01d6fd66e44bda5d39bd637">LTC_DES_KEY_SIZE</a>])</td></tr>
<tr class="memdesc:ga59e855bd731338c444083fd88bb4ee94"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decrypts DES using OFB block mode. <a href="#ga59e855bd731338c444083fd88bb4ee94">More...</a><br/></td></tr>
<tr class="separator:ga59e855bd731338c444083fd88bb4ee94"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2ecbaae75fb56e1a2db66ef9e293779f"><td class="memItemLeft" align="right" valign="top">status_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ltc__driver__des.html#ga2ecbaae75fb56e1a2db66ef9e293779f">LTC_DES2_EncryptEcb</a> (LTC_Type *base, const uint8_t *plaintext, uint8_t *ciphertext, uint32_t size, const uint8_t key1[<a class="el" href="group__ltc__driver__des.html#ga359a937ff01d6fd66e44bda5d39bd637">LTC_DES_KEY_SIZE</a>], const uint8_t key2[<a class="el" href="group__ltc__driver__des.html#ga359a937ff01d6fd66e44bda5d39bd637">LTC_DES_KEY_SIZE</a>])</td></tr>
<tr class="memdesc:ga2ecbaae75fb56e1a2db66ef9e293779f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encrypts triple DES using ECB block mode with two keys. <a href="#ga2ecbaae75fb56e1a2db66ef9e293779f">More...</a><br/></td></tr>
<tr class="separator:ga2ecbaae75fb56e1a2db66ef9e293779f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga50a9991f4cdca964f42377c1d635caba"><td class="memItemLeft" align="right" valign="top">status_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ltc__driver__des.html#ga50a9991f4cdca964f42377c1d635caba">LTC_DES2_DecryptEcb</a> (LTC_Type *base, const uint8_t *ciphertext, uint8_t *plaintext, uint32_t size, const uint8_t key1[<a class="el" href="group__ltc__driver__des.html#ga359a937ff01d6fd66e44bda5d39bd637">LTC_DES_KEY_SIZE</a>], const uint8_t key2[<a class="el" href="group__ltc__driver__des.html#ga359a937ff01d6fd66e44bda5d39bd637">LTC_DES_KEY_SIZE</a>])</td></tr>
<tr class="memdesc:ga50a9991f4cdca964f42377c1d635caba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decrypts triple DES using ECB block mode with two keys. <a href="#ga50a9991f4cdca964f42377c1d635caba">More...</a><br/></td></tr>
<tr class="separator:ga50a9991f4cdca964f42377c1d635caba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga097de2501c8a687ecfba803ccf2c8111"><td class="memItemLeft" align="right" valign="top">status_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ltc__driver__des.html#ga097de2501c8a687ecfba803ccf2c8111">LTC_DES2_EncryptCbc</a> (LTC_Type *base, const uint8_t *plaintext, uint8_t *ciphertext, uint32_t size, const uint8_t iv[<a class="el" href="group__ltc__driver__des.html#ga38decd985c231cf4087bf216e7abba11">LTC_DES_IV_SIZE</a>], const uint8_t key1[<a class="el" href="group__ltc__driver__des.html#ga359a937ff01d6fd66e44bda5d39bd637">LTC_DES_KEY_SIZE</a>], const uint8_t key2[<a class="el" href="group__ltc__driver__des.html#ga359a937ff01d6fd66e44bda5d39bd637">LTC_DES_KEY_SIZE</a>])</td></tr>
<tr class="memdesc:ga097de2501c8a687ecfba803ccf2c8111"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encrypts triple DES using CBC block mode with two keys. <a href="#ga097de2501c8a687ecfba803ccf2c8111">More...</a><br/></td></tr>
<tr class="separator:ga097de2501c8a687ecfba803ccf2c8111"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabf8b1895c2c105023af9728bcf8ca03f"><td class="memItemLeft" align="right" valign="top">status_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ltc__driver__des.html#gabf8b1895c2c105023af9728bcf8ca03f">LTC_DES2_DecryptCbc</a> (LTC_Type *base, const uint8_t *ciphertext, uint8_t *plaintext, uint32_t size, const uint8_t iv[<a class="el" href="group__ltc__driver__des.html#ga38decd985c231cf4087bf216e7abba11">LTC_DES_IV_SIZE</a>], const uint8_t key1[<a class="el" href="group__ltc__driver__des.html#ga359a937ff01d6fd66e44bda5d39bd637">LTC_DES_KEY_SIZE</a>], const uint8_t key2[<a class="el" href="group__ltc__driver__des.html#ga359a937ff01d6fd66e44bda5d39bd637">LTC_DES_KEY_SIZE</a>])</td></tr>
<tr class="memdesc:gabf8b1895c2c105023af9728bcf8ca03f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decrypts triple DES using CBC block mode with two keys. <a href="#gabf8b1895c2c105023af9728bcf8ca03f">More...</a><br/></td></tr>
<tr class="separator:gabf8b1895c2c105023af9728bcf8ca03f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3c661aaad43018cdddfab3615edda7ac"><td class="memItemLeft" align="right" valign="top">status_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ltc__driver__des.html#ga3c661aaad43018cdddfab3615edda7ac">LTC_DES2_EncryptCfb</a> (LTC_Type *base, const uint8_t *plaintext, uint8_t *ciphertext, uint32_t size, const uint8_t iv[<a class="el" href="group__ltc__driver__des.html#ga38decd985c231cf4087bf216e7abba11">LTC_DES_IV_SIZE</a>], const uint8_t key1[<a class="el" href="group__ltc__driver__des.html#ga359a937ff01d6fd66e44bda5d39bd637">LTC_DES_KEY_SIZE</a>], const uint8_t key2[<a class="el" href="group__ltc__driver__des.html#ga359a937ff01d6fd66e44bda5d39bd637">LTC_DES_KEY_SIZE</a>])</td></tr>
<tr class="memdesc:ga3c661aaad43018cdddfab3615edda7ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encrypts triple DES using CFB block mode with two keys. <a href="#ga3c661aaad43018cdddfab3615edda7ac">More...</a><br/></td></tr>
<tr class="separator:ga3c661aaad43018cdddfab3615edda7ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2fa5508bb917fb7c4236d2a8dd48a9be"><td class="memItemLeft" align="right" valign="top">status_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ltc__driver__des.html#ga2fa5508bb917fb7c4236d2a8dd48a9be">LTC_DES2_DecryptCfb</a> (LTC_Type *base, const uint8_t *ciphertext, uint8_t *plaintext, uint32_t size, const uint8_t iv[<a class="el" href="group__ltc__driver__des.html#ga38decd985c231cf4087bf216e7abba11">LTC_DES_IV_SIZE</a>], const uint8_t key1[<a class="el" href="group__ltc__driver__des.html#ga359a937ff01d6fd66e44bda5d39bd637">LTC_DES_KEY_SIZE</a>], const uint8_t key2[<a class="el" href="group__ltc__driver__des.html#ga359a937ff01d6fd66e44bda5d39bd637">LTC_DES_KEY_SIZE</a>])</td></tr>
<tr class="memdesc:ga2fa5508bb917fb7c4236d2a8dd48a9be"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decrypts triple DES using CFB block mode with two keys. <a href="#ga2fa5508bb917fb7c4236d2a8dd48a9be">More...</a><br/></td></tr>
<tr class="separator:ga2fa5508bb917fb7c4236d2a8dd48a9be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga81de32475b8f1d007d1c0576e22aac49"><td class="memItemLeft" align="right" valign="top">status_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ltc__driver__des.html#ga81de32475b8f1d007d1c0576e22aac49">LTC_DES2_EncryptOfb</a> (LTC_Type *base, const uint8_t *plaintext, uint8_t *ciphertext, uint32_t size, const uint8_t iv[<a class="el" href="group__ltc__driver__des.html#ga38decd985c231cf4087bf216e7abba11">LTC_DES_IV_SIZE</a>], const uint8_t key1[<a class="el" href="group__ltc__driver__des.html#ga359a937ff01d6fd66e44bda5d39bd637">LTC_DES_KEY_SIZE</a>], const uint8_t key2[<a class="el" href="group__ltc__driver__des.html#ga359a937ff01d6fd66e44bda5d39bd637">LTC_DES_KEY_SIZE</a>])</td></tr>
<tr class="memdesc:ga81de32475b8f1d007d1c0576e22aac49"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encrypts triple DES using OFB block mode with two keys. <a href="#ga81de32475b8f1d007d1c0576e22aac49">More...</a><br/></td></tr>
<tr class="separator:ga81de32475b8f1d007d1c0576e22aac49"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2c826ce1ebda7e7c1a996bcfd8f51f9f"><td class="memItemLeft" align="right" valign="top">status_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ltc__driver__des.html#ga2c826ce1ebda7e7c1a996bcfd8f51f9f">LTC_DES2_DecryptOfb</a> (LTC_Type *base, const uint8_t *ciphertext, uint8_t *plaintext, uint32_t size, const uint8_t iv[<a class="el" href="group__ltc__driver__des.html#ga38decd985c231cf4087bf216e7abba11">LTC_DES_IV_SIZE</a>], const uint8_t key1[<a class="el" href="group__ltc__driver__des.html#ga359a937ff01d6fd66e44bda5d39bd637">LTC_DES_KEY_SIZE</a>], const uint8_t key2[<a class="el" href="group__ltc__driver__des.html#ga359a937ff01d6fd66e44bda5d39bd637">LTC_DES_KEY_SIZE</a>])</td></tr>
<tr class="memdesc:ga2c826ce1ebda7e7c1a996bcfd8f51f9f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decrypts triple DES using OFB block mode with two keys. <a href="#ga2c826ce1ebda7e7c1a996bcfd8f51f9f">More...</a><br/></td></tr>
<tr class="separator:ga2c826ce1ebda7e7c1a996bcfd8f51f9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa06dd12fff6093f9ac5d69a0d511ee9e"><td class="memItemLeft" align="right" valign="top">status_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ltc__driver__des.html#gaa06dd12fff6093f9ac5d69a0d511ee9e">LTC_DES3_EncryptEcb</a> (LTC_Type *base, const uint8_t *plaintext, uint8_t *ciphertext, uint32_t size, const uint8_t key1[<a class="el" href="group__ltc__driver__des.html#ga359a937ff01d6fd66e44bda5d39bd637">LTC_DES_KEY_SIZE</a>], const uint8_t key2[<a class="el" href="group__ltc__driver__des.html#ga359a937ff01d6fd66e44bda5d39bd637">LTC_DES_KEY_SIZE</a>], const uint8_t key3[<a class="el" href="group__ltc__driver__des.html#ga359a937ff01d6fd66e44bda5d39bd637">LTC_DES_KEY_SIZE</a>])</td></tr>
<tr class="memdesc:gaa06dd12fff6093f9ac5d69a0d511ee9e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encrypts triple DES using ECB block mode with three keys. <a href="#gaa06dd12fff6093f9ac5d69a0d511ee9e">More...</a><br/></td></tr>
<tr class="separator:gaa06dd12fff6093f9ac5d69a0d511ee9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3be9688e97da948248bd26b966867457"><td class="memItemLeft" align="right" valign="top">status_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ltc__driver__des.html#ga3be9688e97da948248bd26b966867457">LTC_DES3_DecryptEcb</a> (LTC_Type *base, const uint8_t *ciphertext, uint8_t *plaintext, uint32_t size, const uint8_t key1[<a class="el" href="group__ltc__driver__des.html#ga359a937ff01d6fd66e44bda5d39bd637">LTC_DES_KEY_SIZE</a>], const uint8_t key2[<a class="el" href="group__ltc__driver__des.html#ga359a937ff01d6fd66e44bda5d39bd637">LTC_DES_KEY_SIZE</a>], const uint8_t key3[<a class="el" href="group__ltc__driver__des.html#ga359a937ff01d6fd66e44bda5d39bd637">LTC_DES_KEY_SIZE</a>])</td></tr>
<tr class="memdesc:ga3be9688e97da948248bd26b966867457"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decrypts triple DES using ECB block mode with three keys. <a href="#ga3be9688e97da948248bd26b966867457">More...</a><br/></td></tr>
<tr class="separator:ga3be9688e97da948248bd26b966867457"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga34e8e701927d62909cd40a3cba625ec7"><td class="memItemLeft" align="right" valign="top">status_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ltc__driver__des.html#ga34e8e701927d62909cd40a3cba625ec7">LTC_DES3_EncryptCbc</a> (LTC_Type *base, const uint8_t *plaintext, uint8_t *ciphertext, uint32_t size, const uint8_t iv[<a class="el" href="group__ltc__driver__des.html#ga38decd985c231cf4087bf216e7abba11">LTC_DES_IV_SIZE</a>], const uint8_t key1[<a class="el" href="group__ltc__driver__des.html#ga359a937ff01d6fd66e44bda5d39bd637">LTC_DES_KEY_SIZE</a>], const uint8_t key2[<a class="el" href="group__ltc__driver__des.html#ga359a937ff01d6fd66e44bda5d39bd637">LTC_DES_KEY_SIZE</a>], const uint8_t key3[<a class="el" href="group__ltc__driver__des.html#ga359a937ff01d6fd66e44bda5d39bd637">LTC_DES_KEY_SIZE</a>])</td></tr>
<tr class="memdesc:ga34e8e701927d62909cd40a3cba625ec7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encrypts triple DES using CBC block mode with three keys. <a href="#ga34e8e701927d62909cd40a3cba625ec7">More...</a><br/></td></tr>
<tr class="separator:ga34e8e701927d62909cd40a3cba625ec7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadd33fbb4440bdde67b1f2d5f7d3935d5"><td class="memItemLeft" align="right" valign="top">status_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ltc__driver__des.html#gadd33fbb4440bdde67b1f2d5f7d3935d5">LTC_DES3_DecryptCbc</a> (LTC_Type *base, const uint8_t *ciphertext, uint8_t *plaintext, uint32_t size, const uint8_t iv[<a class="el" href="group__ltc__driver__des.html#ga38decd985c231cf4087bf216e7abba11">LTC_DES_IV_SIZE</a>], const uint8_t key1[<a class="el" href="group__ltc__driver__des.html#ga359a937ff01d6fd66e44bda5d39bd637">LTC_DES_KEY_SIZE</a>], const uint8_t key2[<a class="el" href="group__ltc__driver__des.html#ga359a937ff01d6fd66e44bda5d39bd637">LTC_DES_KEY_SIZE</a>], const uint8_t key3[<a class="el" href="group__ltc__driver__des.html#ga359a937ff01d6fd66e44bda5d39bd637">LTC_DES_KEY_SIZE</a>])</td></tr>
<tr class="memdesc:gadd33fbb4440bdde67b1f2d5f7d3935d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decrypts triple DES using CBC block mode with three keys. <a href="#gadd33fbb4440bdde67b1f2d5f7d3935d5">More...</a><br/></td></tr>
<tr class="separator:gadd33fbb4440bdde67b1f2d5f7d3935d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga83445bbfc0ae6c373fe6e01093c7b0ae"><td class="memItemLeft" align="right" valign="top">status_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ltc__driver__des.html#ga83445bbfc0ae6c373fe6e01093c7b0ae">LTC_DES3_EncryptCfb</a> (LTC_Type *base, const uint8_t *plaintext, uint8_t *ciphertext, uint32_t size, const uint8_t iv[<a class="el" href="group__ltc__driver__des.html#ga38decd985c231cf4087bf216e7abba11">LTC_DES_IV_SIZE</a>], const uint8_t key1[<a class="el" href="group__ltc__driver__des.html#ga359a937ff01d6fd66e44bda5d39bd637">LTC_DES_KEY_SIZE</a>], const uint8_t key2[<a class="el" href="group__ltc__driver__des.html#ga359a937ff01d6fd66e44bda5d39bd637">LTC_DES_KEY_SIZE</a>], const uint8_t key3[<a class="el" href="group__ltc__driver__des.html#ga359a937ff01d6fd66e44bda5d39bd637">LTC_DES_KEY_SIZE</a>])</td></tr>
<tr class="memdesc:ga83445bbfc0ae6c373fe6e01093c7b0ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encrypts triple DES using CFB block mode with three keys. <a href="#ga83445bbfc0ae6c373fe6e01093c7b0ae">More...</a><br/></td></tr>
<tr class="separator:ga83445bbfc0ae6c373fe6e01093c7b0ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac9dc24f6d977ad8ecb1195507ec48fcb"><td class="memItemLeft" align="right" valign="top">status_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ltc__driver__des.html#gac9dc24f6d977ad8ecb1195507ec48fcb">LTC_DES3_DecryptCfb</a> (LTC_Type *base, const uint8_t *ciphertext, uint8_t *plaintext, uint32_t size, const uint8_t iv[<a class="el" href="group__ltc__driver__des.html#ga38decd985c231cf4087bf216e7abba11">LTC_DES_IV_SIZE</a>], const uint8_t key1[<a class="el" href="group__ltc__driver__des.html#ga359a937ff01d6fd66e44bda5d39bd637">LTC_DES_KEY_SIZE</a>], const uint8_t key2[<a class="el" href="group__ltc__driver__des.html#ga359a937ff01d6fd66e44bda5d39bd637">LTC_DES_KEY_SIZE</a>], const uint8_t key3[<a class="el" href="group__ltc__driver__des.html#ga359a937ff01d6fd66e44bda5d39bd637">LTC_DES_KEY_SIZE</a>])</td></tr>
<tr class="memdesc:gac9dc24f6d977ad8ecb1195507ec48fcb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decrypts triple DES using CFB block mode with three keys. <a href="#gac9dc24f6d977ad8ecb1195507ec48fcb">More...</a><br/></td></tr>
<tr class="separator:gac9dc24f6d977ad8ecb1195507ec48fcb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga537d2bb32d6a60662d7240a86883be72"><td class="memItemLeft" align="right" valign="top">status_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ltc__driver__des.html#ga537d2bb32d6a60662d7240a86883be72">LTC_DES3_EncryptOfb</a> (LTC_Type *base, const uint8_t *plaintext, uint8_t *ciphertext, uint32_t size, const uint8_t iv[<a class="el" href="group__ltc__driver__des.html#ga38decd985c231cf4087bf216e7abba11">LTC_DES_IV_SIZE</a>], const uint8_t key1[<a class="el" href="group__ltc__driver__des.html#ga359a937ff01d6fd66e44bda5d39bd637">LTC_DES_KEY_SIZE</a>], const uint8_t key2[<a class="el" href="group__ltc__driver__des.html#ga359a937ff01d6fd66e44bda5d39bd637">LTC_DES_KEY_SIZE</a>], const uint8_t key3[<a class="el" href="group__ltc__driver__des.html#ga359a937ff01d6fd66e44bda5d39bd637">LTC_DES_KEY_SIZE</a>])</td></tr>
<tr class="memdesc:ga537d2bb32d6a60662d7240a86883be72"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encrypts triple DES using OFB block mode with three keys. <a href="#ga537d2bb32d6a60662d7240a86883be72">More...</a><br/></td></tr>
<tr class="separator:ga537d2bb32d6a60662d7240a86883be72"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafcbaaa5773778d579937c481df75d4b0"><td class="memItemLeft" align="right" valign="top">status_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ltc__driver__des.html#gafcbaaa5773778d579937c481df75d4b0">LTC_DES3_DecryptOfb</a> (LTC_Type *base, const uint8_t *ciphertext, uint8_t *plaintext, uint32_t size, const uint8_t iv[<a class="el" href="group__ltc__driver__des.html#ga38decd985c231cf4087bf216e7abba11">LTC_DES_IV_SIZE</a>], const uint8_t key1[<a class="el" href="group__ltc__driver__des.html#ga359a937ff01d6fd66e44bda5d39bd637">LTC_DES_KEY_SIZE</a>], const uint8_t key2[<a class="el" href="group__ltc__driver__des.html#ga359a937ff01d6fd66e44bda5d39bd637">LTC_DES_KEY_SIZE</a>], const uint8_t key3[<a class="el" href="group__ltc__driver__des.html#ga359a937ff01d6fd66e44bda5d39bd637">LTC_DES_KEY_SIZE</a>])</td></tr>
<tr class="memdesc:gafcbaaa5773778d579937c481df75d4b0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decrypts triple DES using OFB block mode with three keys. <a href="#gafcbaaa5773778d579937c481df75d4b0">More...</a><br/></td></tr>
<tr class="separator:gafcbaaa5773778d579937c481df75d4b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="ga359a937ff01d6fd66e44bda5d39bd637"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LTC_DES_KEY_SIZE&#160;&#160;&#160;8</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ga2f93caa08369ce8691c906896a7b0cac"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">status_t LTC_DES_EncryptEcb </td>
<td>(</td>
<td class="paramtype">LTC_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t *&#160;</td>
<td class="paramname"><em>plaintext</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>ciphertext</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>key</em>[LTC_DES_KEY_SIZE]&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Encrypts DES using ECB block mode.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir"></td><td class="paramname">base</td><td>LTC peripheral base address </td></tr>
<tr><td class="paramdir"></td><td class="paramname">plaintext</td><td>Input plaintext to encrypt </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">ciphertext</td><td>Output ciphertext </td></tr>
<tr><td class="paramdir"></td><td class="paramname">size</td><td>Size of input and output data in bytes. Must be multiple of 8 bytes. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">key</td><td>Input key to use for encryption </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Status from encrypt/decrypt operation </dd></dl>
</div>
</div>
<a class="anchor" id="ga620bdd5fff13cf4ed93569450f9004aa"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">status_t LTC_DES_DecryptEcb </td>
<td>(</td>
<td class="paramtype">LTC_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t *&#160;</td>
<td class="paramname"><em>ciphertext</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>plaintext</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>key</em>[LTC_DES_KEY_SIZE]&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Decrypts DES using ECB block mode.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir"></td><td class="paramname">base</td><td>LTC peripheral base address </td></tr>
<tr><td class="paramdir"></td><td class="paramname">ciphertext</td><td>Input ciphertext to decrypt </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">plaintext</td><td>Output plaintext </td></tr>
<tr><td class="paramdir"></td><td class="paramname">size</td><td>Size of input and output data in bytes. Must be multiple of 8 bytes. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">key</td><td>Input key to use for decryption </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Status from encrypt/decrypt operation </dd></dl>
</div>
</div>
<a class="anchor" id="ga04c0c01b90d4d4f92360e282169df313"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">status_t LTC_DES_EncryptCbc </td>
<td>(</td>
<td class="paramtype">LTC_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t *&#160;</td>
<td class="paramname"><em>plaintext</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>ciphertext</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>iv</em>[LTC_DES_IV_SIZE], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>key</em>[LTC_DES_KEY_SIZE]&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Encrypts DES using CBC block mode.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir"></td><td class="paramname">base</td><td>LTC peripheral base address </td></tr>
<tr><td class="paramdir"></td><td class="paramname">plaintext</td><td>Input plaintext to encrypt </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">ciphertext</td><td>Ouput ciphertext </td></tr>
<tr><td class="paramdir"></td><td class="paramname">size</td><td>Size of input and output data in bytes </td></tr>
<tr><td class="paramdir"></td><td class="paramname">iv</td><td>Input initial vector to combine with the first plaintext block. The iv does not need to be secret, but it must be unpredictable. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">key</td><td>Input key to use for encryption </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Status from encrypt/decrypt operation </dd></dl>
</div>
</div>
<a class="anchor" id="ga86ac04c3a6dac44ec8113c3489b87cad"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">status_t LTC_DES_DecryptCbc </td>
<td>(</td>
<td class="paramtype">LTC_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t *&#160;</td>
<td class="paramname"><em>ciphertext</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>plaintext</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>iv</em>[LTC_DES_IV_SIZE], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>key</em>[LTC_DES_KEY_SIZE]&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Decrypts DES using CBC block mode.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir"></td><td class="paramname">base</td><td>LTC peripheral base address </td></tr>
<tr><td class="paramdir"></td><td class="paramname">ciphertext</td><td>Input ciphertext to decrypt </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">plaintext</td><td>Output plaintext </td></tr>
<tr><td class="paramdir"></td><td class="paramname">size</td><td>Size of input data in bytes </td></tr>
<tr><td class="paramdir"></td><td class="paramname">iv</td><td>Input initial vector to combine with the first plaintext block. The iv does not need to be secret, but it must be unpredictable. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">key</td><td>Input key to use for decryption </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Status from encrypt/decrypt operation </dd></dl>
</div>
</div>
<a class="anchor" id="ga20d895764298003183169023e70edf75"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">status_t LTC_DES_EncryptCfb </td>
<td>(</td>
<td class="paramtype">LTC_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t *&#160;</td>
<td class="paramname"><em>plaintext</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>ciphertext</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>iv</em>[LTC_DES_IV_SIZE], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>key</em>[LTC_DES_KEY_SIZE]&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Encrypts DES using CFB block mode.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir"></td><td class="paramname">base</td><td>LTC peripheral base address </td></tr>
<tr><td class="paramdir"></td><td class="paramname">plaintext</td><td>Input plaintext to encrypt </td></tr>
<tr><td class="paramdir"></td><td class="paramname">size</td><td>Size of input data in bytes </td></tr>
<tr><td class="paramdir"></td><td class="paramname">iv</td><td>Input initial block. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">key</td><td>Input key to use for encryption </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">ciphertext</td><td>Output ciphertext </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Status from encrypt/decrypt operation </dd></dl>
</div>
</div>
<a class="anchor" id="ga617acdcde2256d2e055aa6ce7815d5d1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">status_t LTC_DES_DecryptCfb </td>
<td>(</td>
<td class="paramtype">LTC_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t *&#160;</td>
<td class="paramname"><em>ciphertext</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>plaintext</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>iv</em>[LTC_DES_IV_SIZE], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>key</em>[LTC_DES_KEY_SIZE]&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Decrypts DES using CFB block mode.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir"></td><td class="paramname">base</td><td>LTC peripheral base address </td></tr>
<tr><td class="paramdir"></td><td class="paramname">ciphertext</td><td>Input ciphertext to decrypt </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">plaintext</td><td>Output plaintext </td></tr>
<tr><td class="paramdir"></td><td class="paramname">size</td><td>Size of input and output data in bytes </td></tr>
<tr><td class="paramdir"></td><td class="paramname">iv</td><td>Input initial block. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">key</td><td>Input key to use for decryption </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Status from encrypt/decrypt operation </dd></dl>
</div>
</div>
<a class="anchor" id="gaecf99b9cd710ccac7bd169d5393508d9"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">status_t LTC_DES_EncryptOfb </td>
<td>(</td>
<td class="paramtype">LTC_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t *&#160;</td>
<td class="paramname"><em>plaintext</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>ciphertext</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>iv</em>[LTC_DES_IV_SIZE], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>key</em>[LTC_DES_KEY_SIZE]&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Encrypts DES using OFB block mode.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir"></td><td class="paramname">base</td><td>LTC peripheral base address </td></tr>
<tr><td class="paramdir"></td><td class="paramname">plaintext</td><td>Input plaintext to encrypt </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">ciphertext</td><td>Output ciphertext </td></tr>
<tr><td class="paramdir"></td><td class="paramname">size</td><td>Size of input and output data in bytes </td></tr>
<tr><td class="paramdir"></td><td class="paramname">iv</td><td>Input unique input vector. The OFB mode requires that the IV be unique for each execution of the mode under the given key. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">key</td><td>Input key to use for encryption </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Status from encrypt/decrypt operation </dd></dl>
</div>
</div>
<a class="anchor" id="ga59e855bd731338c444083fd88bb4ee94"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">status_t LTC_DES_DecryptOfb </td>
<td>(</td>
<td class="paramtype">LTC_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t *&#160;</td>
<td class="paramname"><em>ciphertext</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>plaintext</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>iv</em>[LTC_DES_IV_SIZE], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>key</em>[LTC_DES_KEY_SIZE]&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Decrypts DES using OFB block mode.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir"></td><td class="paramname">base</td><td>LTC peripheral base address </td></tr>
<tr><td class="paramdir"></td><td class="paramname">ciphertext</td><td>Input ciphertext to decrypt </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">plaintext</td><td>Output plaintext </td></tr>
<tr><td class="paramdir"></td><td class="paramname">size</td><td>Size of input and output data in bytes. Must be multiple of 8 bytes. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">iv</td><td>Input unique input vector. The OFB mode requires that the IV be unique for each execution of the mode under the given key. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">key</td><td>Input key to use for decryption </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Status from encrypt/decrypt operation </dd></dl>
</div>
</div>
<a class="anchor" id="ga2ecbaae75fb56e1a2db66ef9e293779f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">status_t LTC_DES2_EncryptEcb </td>
<td>(</td>
<td class="paramtype">LTC_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t *&#160;</td>
<td class="paramname"><em>plaintext</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>ciphertext</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>key1</em>[LTC_DES_KEY_SIZE], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>key2</em>[LTC_DES_KEY_SIZE]&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Encrypts triple DES using ECB block mode with two keys.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir"></td><td class="paramname">base</td><td>LTC peripheral base address </td></tr>
<tr><td class="paramdir"></td><td class="paramname">plaintext</td><td>Input plaintext to encrypt </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">ciphertext</td><td>Output ciphertext </td></tr>
<tr><td class="paramdir"></td><td class="paramname">size</td><td>Size of input and output data in bytes. Must be multiple of 8 bytes. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">key1</td><td>First input key for key bundle </td></tr>
<tr><td class="paramdir"></td><td class="paramname">key2</td><td>Second input key for key bundle </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Status from encrypt/decrypt operation </dd></dl>
</div>
</div>
<a class="anchor" id="ga50a9991f4cdca964f42377c1d635caba"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">status_t LTC_DES2_DecryptEcb </td>
<td>(</td>
<td class="paramtype">LTC_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t *&#160;</td>
<td class="paramname"><em>ciphertext</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>plaintext</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>key1</em>[LTC_DES_KEY_SIZE], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>key2</em>[LTC_DES_KEY_SIZE]&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Decrypts triple DES using ECB block mode with two keys.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir"></td><td class="paramname">base</td><td>LTC peripheral base address </td></tr>
<tr><td class="paramdir"></td><td class="paramname">ciphertext</td><td>Input ciphertext to decrypt </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">plaintext</td><td>Output plaintext </td></tr>
<tr><td class="paramdir"></td><td class="paramname">size</td><td>Size of input and output data in bytes. Must be multiple of 8 bytes. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">key1</td><td>First input key for key bundle </td></tr>
<tr><td class="paramdir"></td><td class="paramname">key2</td><td>Second input key for key bundle </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Status from encrypt/decrypt operation </dd></dl>
</div>
</div>
<a class="anchor" id="ga097de2501c8a687ecfba803ccf2c8111"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">status_t LTC_DES2_EncryptCbc </td>
<td>(</td>
<td class="paramtype">LTC_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t *&#160;</td>
<td class="paramname"><em>plaintext</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>ciphertext</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>iv</em>[LTC_DES_IV_SIZE], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>key1</em>[LTC_DES_KEY_SIZE], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>key2</em>[LTC_DES_KEY_SIZE]&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Encrypts triple DES using CBC block mode with two keys.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir"></td><td class="paramname">base</td><td>LTC peripheral base address </td></tr>
<tr><td class="paramdir"></td><td class="paramname">plaintext</td><td>Input plaintext to encrypt </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">ciphertext</td><td>Output ciphertext </td></tr>
<tr><td class="paramdir"></td><td class="paramname">size</td><td>Size of input and output data in bytes </td></tr>
<tr><td class="paramdir"></td><td class="paramname">iv</td><td>Input initial vector to combine with the first plaintext block. The iv does not need to be secret, but it must be unpredictable. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">key1</td><td>First input key for key bundle </td></tr>
<tr><td class="paramdir"></td><td class="paramname">key2</td><td>Second input key for key bundle </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Status from encrypt/decrypt operation </dd></dl>
</div>
</div>
<a class="anchor" id="gabf8b1895c2c105023af9728bcf8ca03f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">status_t LTC_DES2_DecryptCbc </td>
<td>(</td>
<td class="paramtype">LTC_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t *&#160;</td>
<td class="paramname"><em>ciphertext</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>plaintext</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>iv</em>[LTC_DES_IV_SIZE], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>key1</em>[LTC_DES_KEY_SIZE], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>key2</em>[LTC_DES_KEY_SIZE]&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Decrypts triple DES using CBC block mode with two keys.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir"></td><td class="paramname">base</td><td>LTC peripheral base address </td></tr>
<tr><td class="paramdir"></td><td class="paramname">ciphertext</td><td>Input ciphertext to decrypt </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">plaintext</td><td>Output plaintext </td></tr>
<tr><td class="paramdir"></td><td class="paramname">size</td><td>Size of input and output data in bytes </td></tr>
<tr><td class="paramdir"></td><td class="paramname">iv</td><td>Input initial vector to combine with the first plaintext block. The iv does not need to be secret, but it must be unpredictable. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">key1</td><td>First input key for key bundle </td></tr>
<tr><td class="paramdir"></td><td class="paramname">key2</td><td>Second input key for key bundle </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Status from encrypt/decrypt operation </dd></dl>
</div>
</div>
<a class="anchor" id="ga3c661aaad43018cdddfab3615edda7ac"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">status_t LTC_DES2_EncryptCfb </td>
<td>(</td>
<td class="paramtype">LTC_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t *&#160;</td>
<td class="paramname"><em>plaintext</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>ciphertext</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>iv</em>[LTC_DES_IV_SIZE], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>key1</em>[LTC_DES_KEY_SIZE], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>key2</em>[LTC_DES_KEY_SIZE]&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Encrypts triple DES using CFB block mode with two keys.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir"></td><td class="paramname">base</td><td>LTC peripheral base address </td></tr>
<tr><td class="paramdir"></td><td class="paramname">plaintext</td><td>Input plaintext to encrypt </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">ciphertext</td><td>Output ciphertext </td></tr>
<tr><td class="paramdir"></td><td class="paramname">size</td><td>Size of input and output data in bytes </td></tr>
<tr><td class="paramdir"></td><td class="paramname">iv</td><td>Input initial block. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">key1</td><td>First input key for key bundle </td></tr>
<tr><td class="paramdir"></td><td class="paramname">key2</td><td>Second input key for key bundle </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Status from encrypt/decrypt operation </dd></dl>
</div>
</div>
<a class="anchor" id="ga2fa5508bb917fb7c4236d2a8dd48a9be"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">status_t LTC_DES2_DecryptCfb </td>
<td>(</td>
<td class="paramtype">LTC_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t *&#160;</td>
<td class="paramname"><em>ciphertext</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>plaintext</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>iv</em>[LTC_DES_IV_SIZE], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>key1</em>[LTC_DES_KEY_SIZE], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>key2</em>[LTC_DES_KEY_SIZE]&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Decrypts triple DES using CFB block mode with two keys.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir"></td><td class="paramname">base</td><td>LTC peripheral base address </td></tr>
<tr><td class="paramdir"></td><td class="paramname">ciphertext</td><td>Input ciphertext to decrypt </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">plaintext</td><td>Output plaintext </td></tr>
<tr><td class="paramdir"></td><td class="paramname">size</td><td>Size of input and output data in bytes </td></tr>
<tr><td class="paramdir"></td><td class="paramname">iv</td><td>Input initial block. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">key1</td><td>First input key for key bundle </td></tr>
<tr><td class="paramdir"></td><td class="paramname">key2</td><td>Second input key for key bundle </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Status from encrypt/decrypt operation </dd></dl>
</div>
</div>
<a class="anchor" id="ga81de32475b8f1d007d1c0576e22aac49"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">status_t LTC_DES2_EncryptOfb </td>
<td>(</td>
<td class="paramtype">LTC_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t *&#160;</td>
<td class="paramname"><em>plaintext</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>ciphertext</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>iv</em>[LTC_DES_IV_SIZE], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>key1</em>[LTC_DES_KEY_SIZE], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>key2</em>[LTC_DES_KEY_SIZE]&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Encrypts triple DES using OFB block mode with two keys.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir"></td><td class="paramname">base</td><td>LTC peripheral base address </td></tr>
<tr><td class="paramdir"></td><td class="paramname">plaintext</td><td>Input plaintext to encrypt </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">ciphertext</td><td>Output ciphertext </td></tr>
<tr><td class="paramdir"></td><td class="paramname">size</td><td>Size of input and output data in bytes </td></tr>
<tr><td class="paramdir"></td><td class="paramname">iv</td><td>Input unique input vector. The OFB mode requires that the IV be unique for each execution of the mode under the given key. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">key1</td><td>First input key for key bundle </td></tr>
<tr><td class="paramdir"></td><td class="paramname">key2</td><td>Second input key for key bundle </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Status from encrypt/decrypt operation </dd></dl>
</div>
</div>
<a class="anchor" id="ga2c826ce1ebda7e7c1a996bcfd8f51f9f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">status_t LTC_DES2_DecryptOfb </td>
<td>(</td>
<td class="paramtype">LTC_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t *&#160;</td>
<td class="paramname"><em>ciphertext</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>plaintext</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>iv</em>[LTC_DES_IV_SIZE], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>key1</em>[LTC_DES_KEY_SIZE], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>key2</em>[LTC_DES_KEY_SIZE]&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Decrypts triple DES using OFB block mode with two keys.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir"></td><td class="paramname">base</td><td>LTC peripheral base address </td></tr>
<tr><td class="paramdir"></td><td class="paramname">ciphertext</td><td>Input ciphertext to decrypt </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">plaintext</td><td>Output plaintext </td></tr>
<tr><td class="paramdir"></td><td class="paramname">size</td><td>Size of input and output data in bytes </td></tr>
<tr><td class="paramdir"></td><td class="paramname">iv</td><td>Input unique input vector. The OFB mode requires that the IV be unique for each execution of the mode under the given key. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">key1</td><td>First input key for key bundle </td></tr>
<tr><td class="paramdir"></td><td class="paramname">key2</td><td>Second input key for key bundle </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Status from encrypt/decrypt operation </dd></dl>
</div>
</div>
<a class="anchor" id="gaa06dd12fff6093f9ac5d69a0d511ee9e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">status_t LTC_DES3_EncryptEcb </td>
<td>(</td>
<td class="paramtype">LTC_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t *&#160;</td>
<td class="paramname"><em>plaintext</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>ciphertext</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>key1</em>[LTC_DES_KEY_SIZE], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>key2</em>[LTC_DES_KEY_SIZE], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>key3</em>[LTC_DES_KEY_SIZE]&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Encrypts triple DES using ECB block mode with three keys.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir"></td><td class="paramname">base</td><td>LTC peripheral base address </td></tr>
<tr><td class="paramdir"></td><td class="paramname">plaintext</td><td>Input plaintext to encrypt </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">ciphertext</td><td>Output ciphertext </td></tr>
<tr><td class="paramdir"></td><td class="paramname">size</td><td>Size of input and output data in bytes. Must be multiple of 8 bytes. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">key1</td><td>First input key for key bundle </td></tr>
<tr><td class="paramdir"></td><td class="paramname">key2</td><td>Second input key for key bundle </td></tr>
<tr><td class="paramdir"></td><td class="paramname">key3</td><td>Third input key for key bundle </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Status from encrypt/decrypt operation </dd></dl>
</div>
</div>
<a class="anchor" id="ga3be9688e97da948248bd26b966867457"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">status_t LTC_DES3_DecryptEcb </td>
<td>(</td>
<td class="paramtype">LTC_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t *&#160;</td>
<td class="paramname"><em>ciphertext</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>plaintext</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>key1</em>[LTC_DES_KEY_SIZE], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>key2</em>[LTC_DES_KEY_SIZE], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>key3</em>[LTC_DES_KEY_SIZE]&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Decrypts triple DES using ECB block mode with three keys.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir"></td><td class="paramname">base</td><td>LTC peripheral base address </td></tr>
<tr><td class="paramdir"></td><td class="paramname">ciphertext</td><td>Input ciphertext to decrypt </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">plaintext</td><td>Output plaintext </td></tr>
<tr><td class="paramdir"></td><td class="paramname">size</td><td>Size of input and output data in bytes. Must be multiple of 8 bytes. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">key1</td><td>First input key for key bundle </td></tr>
<tr><td class="paramdir"></td><td class="paramname">key2</td><td>Second input key for key bundle </td></tr>
<tr><td class="paramdir"></td><td class="paramname">key3</td><td>Third input key for key bundle </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Status from encrypt/decrypt operation </dd></dl>
</div>
</div>
<a class="anchor" id="ga34e8e701927d62909cd40a3cba625ec7"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">status_t LTC_DES3_EncryptCbc </td>
<td>(</td>
<td class="paramtype">LTC_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t *&#160;</td>
<td class="paramname"><em>plaintext</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>ciphertext</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>iv</em>[LTC_DES_IV_SIZE], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>key1</em>[LTC_DES_KEY_SIZE], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>key2</em>[LTC_DES_KEY_SIZE], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>key3</em>[LTC_DES_KEY_SIZE]&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Encrypts triple DES using CBC block mode with three keys.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir"></td><td class="paramname">base</td><td>LTC peripheral base address </td></tr>
<tr><td class="paramdir"></td><td class="paramname">plaintext</td><td>Input plaintext to encrypt </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">ciphertext</td><td>Output ciphertext </td></tr>
<tr><td class="paramdir"></td><td class="paramname">size</td><td>Size of input data in bytes </td></tr>
<tr><td class="paramdir"></td><td class="paramname">iv</td><td>Input initial vector to combine with the first plaintext block. The iv does not need to be secret, but it must be unpredictable. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">key1</td><td>First input key for key bundle </td></tr>
<tr><td class="paramdir"></td><td class="paramname">key2</td><td>Second input key for key bundle </td></tr>
<tr><td class="paramdir"></td><td class="paramname">key3</td><td>Third input key for key bundle </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Status from encrypt/decrypt operation </dd></dl>
</div>
</div>
<a class="anchor" id="gadd33fbb4440bdde67b1f2d5f7d3935d5"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">status_t LTC_DES3_DecryptCbc </td>
<td>(</td>
<td class="paramtype">LTC_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t *&#160;</td>
<td class="paramname"><em>ciphertext</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>plaintext</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>iv</em>[LTC_DES_IV_SIZE], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>key1</em>[LTC_DES_KEY_SIZE], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>key2</em>[LTC_DES_KEY_SIZE], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>key3</em>[LTC_DES_KEY_SIZE]&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Decrypts triple DES using CBC block mode with three keys.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir"></td><td class="paramname">base</td><td>LTC peripheral base address </td></tr>
<tr><td class="paramdir"></td><td class="paramname">ciphertext</td><td>Input ciphertext to decrypt </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">plaintext</td><td>Output plaintext </td></tr>
<tr><td class="paramdir"></td><td class="paramname">size</td><td>Size of input and output data in bytes </td></tr>
<tr><td class="paramdir"></td><td class="paramname">iv</td><td>Input initial vector to combine with the first plaintext block. The iv does not need to be secret, but it must be unpredictable. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">key1</td><td>First input key for key bundle </td></tr>
<tr><td class="paramdir"></td><td class="paramname">key2</td><td>Second input key for key bundle </td></tr>
<tr><td class="paramdir"></td><td class="paramname">key3</td><td>Third input key for key bundle </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Status from encrypt/decrypt operation </dd></dl>
</div>
</div>
<a class="anchor" id="ga83445bbfc0ae6c373fe6e01093c7b0ae"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">status_t LTC_DES3_EncryptCfb </td>
<td>(</td>
<td class="paramtype">LTC_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t *&#160;</td>
<td class="paramname"><em>plaintext</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>ciphertext</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>iv</em>[LTC_DES_IV_SIZE], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>key1</em>[LTC_DES_KEY_SIZE], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>key2</em>[LTC_DES_KEY_SIZE], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>key3</em>[LTC_DES_KEY_SIZE]&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Encrypts triple DES using CFB block mode with three keys.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir"></td><td class="paramname">base</td><td>LTC peripheral base address </td></tr>
<tr><td class="paramdir"></td><td class="paramname">plaintext</td><td>Input plaintext to encrypt </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">ciphertext</td><td>Output ciphertext </td></tr>
<tr><td class="paramdir"></td><td class="paramname">size</td><td>Size of input and ouput data in bytes </td></tr>
<tr><td class="paramdir"></td><td class="paramname">iv</td><td>Input initial block. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">key1</td><td>First input key for key bundle </td></tr>
<tr><td class="paramdir"></td><td class="paramname">key2</td><td>Second input key for key bundle </td></tr>
<tr><td class="paramdir"></td><td class="paramname">key3</td><td>Third input key for key bundle </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Status from encrypt/decrypt operation </dd></dl>
</div>
</div>
<a class="anchor" id="gac9dc24f6d977ad8ecb1195507ec48fcb"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">status_t LTC_DES3_DecryptCfb </td>
<td>(</td>
<td class="paramtype">LTC_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t *&#160;</td>
<td class="paramname"><em>ciphertext</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>plaintext</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>iv</em>[LTC_DES_IV_SIZE], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>key1</em>[LTC_DES_KEY_SIZE], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>key2</em>[LTC_DES_KEY_SIZE], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>key3</em>[LTC_DES_KEY_SIZE]&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Decrypts triple DES using CFB block mode with three keys.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir"></td><td class="paramname">base</td><td>LTC peripheral base address </td></tr>
<tr><td class="paramdir"></td><td class="paramname">ciphertext</td><td>Input ciphertext to decrypt </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">plaintext</td><td>Output plaintext </td></tr>
<tr><td class="paramdir"></td><td class="paramname">size</td><td>Size of input data in bytes </td></tr>
<tr><td class="paramdir"></td><td class="paramname">iv</td><td>Input initial block. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">key1</td><td>First input key for key bundle </td></tr>
<tr><td class="paramdir"></td><td class="paramname">key2</td><td>Second input key for key bundle </td></tr>
<tr><td class="paramdir"></td><td class="paramname">key3</td><td>Third input key for key bundle </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Status from encrypt/decrypt operation </dd></dl>
</div>
</div>
<a class="anchor" id="ga537d2bb32d6a60662d7240a86883be72"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">status_t LTC_DES3_EncryptOfb </td>
<td>(</td>
<td class="paramtype">LTC_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t *&#160;</td>
<td class="paramname"><em>plaintext</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>ciphertext</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>iv</em>[LTC_DES_IV_SIZE], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>key1</em>[LTC_DES_KEY_SIZE], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>key2</em>[LTC_DES_KEY_SIZE], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>key3</em>[LTC_DES_KEY_SIZE]&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Encrypts triple DES using OFB block mode with three keys.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir"></td><td class="paramname">base</td><td>LTC peripheral base address </td></tr>
<tr><td class="paramdir"></td><td class="paramname">plaintext</td><td>Input plaintext to encrypt </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">ciphertext</td><td>Output ciphertext </td></tr>
<tr><td class="paramdir"></td><td class="paramname">size</td><td>Size of input and output data in bytes </td></tr>
<tr><td class="paramdir"></td><td class="paramname">iv</td><td>Input unique input vector. The OFB mode requires that the IV be unique for each execution of the mode under the given key. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">key1</td><td>First input key for key bundle </td></tr>
<tr><td class="paramdir"></td><td class="paramname">key2</td><td>Second input key for key bundle </td></tr>
<tr><td class="paramdir"></td><td class="paramname">key3</td><td>Third input key for key bundle </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Status from encrypt/decrypt operation </dd></dl>
</div>
</div>
<a class="anchor" id="gafcbaaa5773778d579937c481df75d4b0"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">status_t LTC_DES3_DecryptOfb </td>
<td>(</td>
<td class="paramtype">LTC_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t *&#160;</td>
<td class="paramname"><em>ciphertext</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>plaintext</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>iv</em>[LTC_DES_IV_SIZE], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>key1</em>[LTC_DES_KEY_SIZE], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>key2</em>[LTC_DES_KEY_SIZE], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>key3</em>[LTC_DES_KEY_SIZE]&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Decrypts triple DES using OFB block mode with three keys.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir"></td><td class="paramname">base</td><td>LTC peripheral base address </td></tr>
<tr><td class="paramdir"></td><td class="paramname">ciphertext</td><td>Input ciphertext to decrypt </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">plaintext</td><td>Output plaintext </td></tr>
<tr><td class="paramdir"></td><td class="paramname">size</td><td>Size of input and output data in bytes </td></tr>
<tr><td class="paramdir"></td><td class="paramname">iv</td><td>Input unique input vector. The OFB mode requires that the IV be unique for each execution of the mode under the given key. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">key1</td><td>First input key for key bundle </td></tr>
<tr><td class="paramdir"></td><td class="paramname">key2</td><td>Second input key for key bundle </td></tr>
<tr><td class="paramdir"></td><td class="paramname">key3</td><td>Third input key for key bundle </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Status from encrypt/decrypt operation </dd></dl>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- HTML footer for doxygen 1.8.5-->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul class="foot">
<li class="footer">&copy; 2016 NXP Semiconductors. All rights reserved.
</li>
</ul>
</div>
</body>
</html>