<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=T-function</id>
	<title>T-function - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=T-function"/>
	<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=T-function&amp;action=history"/>
	<updated>2026-10-26T00:08:13Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>http://debianws.lexgopc.com/wiki143/index.php?title=T-function&amp;diff=3974683&amp;oldid=prev</id>
		<title>imported&gt;Elleh3113: Added short description</title>
		<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=T-function&amp;diff=3974683&amp;oldid=prev"/>
		<updated>2024-08-21T16:53:14Z</updated>

		<summary type="html">&lt;p&gt;Added short description&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Short description|Mathematical function used in cryptography}}&lt;br /&gt;
[[Image:VEST Core4 LowLevel.png|thumbnail|320px|right|VEST-4 T-function followed by a transposition layer]]&lt;br /&gt;
&lt;br /&gt;
In [[cryptography]], a &amp;#039;&amp;#039;&amp;#039;T-function&amp;#039;&amp;#039;&amp;#039; is a [[bijection|bijective]] mapping that updates every bit of the [[state (computer science)|state]] in a way that can be described as &amp;lt;math&amp;gt;x_i&amp;#039; = x_i + f(x_0, \cdots, x_{i-1})&amp;lt;/math&amp;gt;, or in simple words an update function in which each bit of the state is updated by a linear combination of the same bit and a function of a subset of its less significant bits. If every single less significant bit is included in the update of every bit in the state, such a T-function is called &amp;#039;&amp;#039;&amp;#039;triangular&amp;#039;&amp;#039;&amp;#039;. Thanks to their bijectivity (no collisions, therefore no entropy loss) regardless of the used [[Boolean function]]s and regardless of the selection of inputs (as long as they all come from one side of the output bit), T-functions are now widely used in cryptography to construct [[block cipher]]s, [[stream cipher]]s, [[Pseudorandom number generator|PRNG]]s and [[cryptographic hash function|hash functions]]. T-functions were first proposed in 2002 by [[Alexander Klimov|A. Klimov]] and [[Adi Shamir|A. Shamir]] in their paper &amp;quot;A New Class of Invertible Mappings&amp;quot;. Ciphers such as [[TSC-1 (stream cipher)|TSC-1]], [[TSC-3]], [[TSC-4]], [[ABC (stream cipher)|ABC]], [[Mir-1]] and [[VEST]] are built with different types of T-functions.&lt;br /&gt;
&lt;br /&gt;
Because [[arithmetic operation]]s such as [[addition]], [[subtraction]] and [[multiplication]] are also T-functions (triangular T-functions), software-efficient word-based T-functions can be constructed by combining [[bitwise logic]] with arithmetic operations. Another important property of T-functions based on arithmetic operations is predictability of their [[period (mathematics)|period]], which is highly attractive to cryptographers. Although triangular T-functions are naturally vulnerable to guess-and-determine attacks, well chosen bitwise [[transposition (mathematics)|transposition]]s between rounds can neutralize that imbalance. In software-efficient [[cipher]]s, it can be done by interleaving arithmetic operations with byte-swapping operations and to a small degree with [[bitwise rotation]] operations. However, triangular T-functions remain highly inefficient in hardware.&lt;br /&gt;
&lt;br /&gt;
T-functions do not have any restrictions on the types and the widths of the update functions used for each bit. Subsequent transposition of the output bits and [[iteration]] of the T-function also do not affect bijectivity. This freedom allows the designer to choose the update functions or [[S-box]]es that satisfy all other cryptographic criteria and even choose arbitrary or key-dependent update functions (see [[family keying]]).&lt;br /&gt;
&lt;br /&gt;
Hardware-efficient lightweight T-functions with identical widths of all the update functions for each bit of the state can thus be easily constructed. The core accumulators of VEST ciphers are a good example of such reasonably light-weight T-functions that are balanced out after 2 rounds by the transposition layer making all the 2-round feedback functions of roughly the same width and losing the &amp;quot;T-function&amp;quot; bias of depending only on the less significant bits of the state.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* {{cite book&lt;br /&gt;
 | last1=Klimov | first1=Alexander&lt;br /&gt;
 | last2=Shamir | first2=Adi&lt;br /&gt;
 | year = 2002&lt;br /&gt;
 | chapter=A New Class of Invertible Mappings&lt;br /&gt;
 | chapter-url = https://link.springer.com/content/pdf/10.1007/3-540-36400-5_34.pdf&lt;br /&gt;
 | title=Cryptographic Hardware and Embedded Systems - CHES 2002&lt;br /&gt;
 | series=Lecture Notes in Computer Science&lt;br /&gt;
 | volume=2523&lt;br /&gt;
 | pages = 470–483&lt;br /&gt;
 | publisher = [[Springer-Verlag]]&lt;br /&gt;
 | doi=10.1007/3-540-36400-5_34&lt;br /&gt;
 | isbn=978-3-540-00409-7&lt;br /&gt;
 | s2cid=29129205&lt;br /&gt;
 }}&lt;br /&gt;
* {{cite book&lt;br /&gt;
 | last1=Klimov | first1=Alexander&lt;br /&gt;
 | last2=Shamir | first2=Adi&lt;br /&gt;
 | date = 2003 &lt;br /&gt;
 | chapter=Cryptographic Applications of T-Functions&lt;br /&gt;
 | title=Selected Areas in Cryptography&lt;br /&gt;
 | series=Lecture Notes in Computer Science&lt;br /&gt;
 | volume=3006&lt;br /&gt;
 | pages = 248–261&lt;br /&gt;
 | publisher = Springer-Verlag&lt;br /&gt;
 | doi=10.1007/978-3-540-24654-1_18&lt;br /&gt;
 | isbn=978-3-540-21370-3&lt;br /&gt;
 | s2cid=30281166&lt;br /&gt;
 }}&lt;br /&gt;
* {{cite book&lt;br /&gt;
 | last1=Klimov | first1=Alexander&lt;br /&gt;
 | last2=Shamir | first2=Adi&lt;br /&gt;
 | date = 2004&lt;br /&gt;
 | chapter=New Cryptographic Primitives Based on Multiword T-Functions&lt;br /&gt;
 | title=Fast Software Encryption&lt;br /&gt;
 | series=Lecture Notes in Computer Science&lt;br /&gt;
 | volume=3017&lt;br /&gt;
 | pages = 1–15&lt;br /&gt;
 | publisher = Springer-Verlag&lt;br /&gt;
 | doi=10.1007/978-3-540-25937-4_1&lt;br /&gt;
 | isbn=978-3-540-22171-5&lt;br /&gt;
 }}&lt;br /&gt;
* {{cite book&lt;br /&gt;
 | last1 = Daum | first1 = Magnus&lt;br /&gt;
 | year = 2005&lt;br /&gt;
 | chapter = Narrow T-Functions&lt;br /&gt;
 | title = Fast Software Encryption&lt;br /&gt;
 | series = Lecture Notes in Computer Science&lt;br /&gt;
 | volume = 3557&lt;br /&gt;
 | pages = 50–67&lt;br /&gt;
 | publisher = Springer-Verlag&lt;br /&gt;
 | doi = 10.1007/11502760_4&lt;br /&gt;
 | isbn = 978-3-540-26541-2&lt;br /&gt;
 }}&lt;br /&gt;
* {{cite book&lt;br /&gt;
 | last1 = Hong | first1 = Jin&lt;br /&gt;
 | last2 = Lee | first2 = Dong Hoon&lt;br /&gt;
 | last3 = Yeom | first3 = Yongjin&lt;br /&gt;
 | last4 = Han | first4 = Daewan&lt;br /&gt;
 | date = 2005&lt;br /&gt;
 | chapter = A New Class of Single Cycle T-Functions&lt;br /&gt;
 | title = Fast Software Encryption&lt;br /&gt;
 | series = Lecture Notes in Computer Science&lt;br /&gt;
 | volume = 3557&lt;br /&gt;
 | pages = 68–82&lt;br /&gt;
 | publisher = Springer-Verlag&lt;br /&gt;
 | doi=10.1007/11502760_5&lt;br /&gt;
 | isbn = 978-3-540-26541-2&lt;br /&gt;
 }}&lt;br /&gt;
* {{cite book&lt;br /&gt;
 | last1 = Klimov | first1 = Alexander&lt;br /&gt;
 | last2 = Shamir | first2 = Adi&lt;br /&gt;
 | date = 2005&lt;br /&gt;
 | chapter = New Applications of T-Functions in Block Ciphers and Hash Functions&lt;br /&gt;
 | title = Fast Software Encryption&lt;br /&gt;
 | series = Lecture Notes in Computer Science&lt;br /&gt;
 | volume = 3557&lt;br /&gt;
 | pages = 18–31&lt;br /&gt;
 | publisher = Springer-Verlag&lt;br /&gt;
 | doi=10.1007/11502760_2&lt;br /&gt;
 | isbn = 978-3-540-26541-2&lt;br /&gt;
 }}&lt;br /&gt;
&lt;br /&gt;
{{Cryptography navbox | block | hash | stream}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Symmetric-key cryptography]]&lt;br /&gt;
[[Category:Cryptographic primitives]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Elleh3113</name></author>
	</entry>
</feed>