The Mathematics Community and The NSA
The Mathematics Community and The NSA
The Mathematics Community and The NSA
Encryption and
the NSA Role in
International Standards
Michael Wertheimer
Michael Wertheimer is Director of Research at the National
Security Agency. His email address is mawerth@nsa.gov.
DOI: http://dx.doi.org/10.1090/noti1213
February 2015
The US National Institute for Standards and Technology (NIST), the American National Standards
Institute (ANSI), the Internet Engineering Task
Force (IETF), and the International Standards Organization (ISO) are the four main bodies with which
the NSA participates in developing standards for
cryptography. NSA has worked with each of these
for over twenty-five years. We value and are committed to the important work of these groups in
producing secure cryptographic standards that
protect global communications. NSA has a long and
documented record of providing security enhancements to openly published international standards.
However, recently our work has been questioned
in several standards that are elliptic curve based,
the most significant of which is an NIST-proposed
random number generator that I discuss below.
NSA mathematicians remain steadfast in advocating secure international standards. Nevertheless, we are mindful that there has been
considerable discussion regarding NIST publication SP 800-90A. This publication is entitled
Recommendation for Random Number Generation Using Deterministic Random Bit Generators
and contains specifications for four pseudorandom number generations for use in cryptographic
applications. One of these describes a particular
random number generator associated with NSA:
the Dual Elliptic Curve Deterministic Random Bit
Generator (Dual_EC_DRBG). The discussion centers
on NSAs role in the design and advocacy for this
algorithm despite a mathematical demonstration
of the potential for a trapdoor.
Notices
of the
AMS
165
A trapdoor, simply put, is information that allows the inverse of a seemingly one-way function
to be computed easily. In other words, compute x
from f(x). In cryptographic applications, functions
f are specifically designed to make the x to f(x)
computation very fast but the inverse computation
intractable (hence, the term one-way). If an attacker
knows secret information about f that allows
an inverse to be calculated, the attacker might
be able to decrypt messages or, in the case of the
Dual_EC_DRBG, predict future outputs.
During the development of the ANSI standard
based on the NIST publication, members of X9F1
(the ANSI-approved working group responsible for
cryptographic tools) raised concerns about the potential that elliptic curve points used as parameters
for the Dual_EC_DRBG could harbor a trapdoor
secret known only to, and exploitable only by, the
person who generated the points. As a result, the
X9F1 committee expanded the standard to include
verifiable random point generation. Since the NSA
was using the algorithm at the time and had generated elliptic curve points for protecting Department of Defense users, the NSA-generated points
were included in the standard. In other words,
any implementation that used the NSA-generated
points would be deemed compliant. Shortly thereafter, NIST negotiated with ANSI to use the ANSI
Random Number Generation Standard as the basis
for an NIST Random Number Generation Standard.
ANSI also approved submitting a version of this
standard to the ISO.
In 2007 several Microsoft researchers, including Microsofts representative to the ANSI X9F1
committee that created the ANSI version of the
standard, raised concerns in a talk at a cryptographic conference about the trapdoor potential
in the Dual_EC_DRBG. These concerns were picked
up by the media and widely disseminated. NIST
and ANSI reviewed this information and elected to
retain both the verifiable point generation scheme
and the NSA-generated points.
In 2013 the same concerns were again raised
and promulgated by the media. This time NSAs
actions were portrayed as a subversion of standards. However, the facts remain:
Notices
of the
With hindsight, NSA should have ceased supporting the dual EC_DRBG algorithm immediately
after security researchers discovered the potential
for a trapdoor. In truth, I can think of no better
way to describe our failure to drop support for the
Dual_EC_DRBG algorithm as anything other than
regrettable. The costs to the Defense Department
to deploy a new algorithm were not an adequate
reason to sustain our support for a questionable
algorithm. Indeed, we support NISTs April 2014
decision to remove the algorithm. Furthermore, we
realize that our advocacy for the DUAL_EC_DRBG
casts suspicion on the broader body of work NSA
has done to promote secure standards. Indeed,
some colleagues have extrapolated this single action to allege that NSA has a broader agenda to
undermine Internet encryption. A fair reading
of our track record speaks otherwise. Nevertheless, we understand that NSA must be much more
transparent in its standards work and act according to that transparency. That effort can begin with
the AMS now.
NSA strongly endorses the NIST outline for
cryptographic standards development, which
can be found at csrc.nist.gov/groups/ST/
crypto-review/process.html. One significant,
and correct, change is that all NSA comments will
be in writing and published for review. In other
words, we will be open and transparent about our
cryptographic contributions to standards. In addition, we will publish algorithms before they are
considered for standardization to allow more time
for public scrutiny (as we did recently with the
new SIMON and SPECK algorithms, eprint.iacr.
org/2013/404.pdf). With these measures in place,
even those not disposed to trust NSAs motives can
determine for themselves the appropriateness of
our submissions, and we will continue to advocate
for better security in open-source software, such as
Security Enhancements for Linux and Security Enhancements for Android (selinuxproject.org).
We hope this open affirmation and our adherence to it will chart a course that all mathematicians will agree is appropriate and correct.
by a complex set of laws, policies, and implementing rules. This type of data, lawfully obtained and
properly evaluated, helps us to avoid surprise. It
is used to discover new threats, refine both our
filters and selectors, and ultimately create a rising
tide that lifts our intelligence insights and privacy
protections. Mathematicians are leading the way
to design and implement the algorithms that create this rising tide. Here we share many common
interests with industry: e.g., big data analytics,
cloud computing, machine learning, and advanced
search. So-called metadata (intelligence information that can be ascertained without examining
the actual content of a communication) plays a big
role here, as our governing rules generally do not
permit deep inspection when the aperture into our
data set widens. Getting this right is paramount:
the average NSA mathematician takes fourteen
courses each year to be up-to-date on the procedures that govern these activities.
Notices
of the
AMS
167