Patents by Inventor Wajdi Feghali

Wajdi Feghali has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Publication number: 20080144810
    Abstract: The present disclosure provides a system and method for performing modular exponentiation. The method may include dividing a first polynomial into a plurality of segments and generating a first product by multiplying the plurality of segments of the first polynomial with a second polynomial. The method may also include generating a second product by shifting the contents of an accumulator with a factorization base. The method may further include adding the first product and the second product to yield a first intermediate result and reducing the first intermediate result to yield a second intermediate result. The method may also include generating a public key based on, at least in part, the second intermediate result. Of course, many alternatives, variations and modifications are possible without departing from this embodiment.
    Type: Application
    Filed: December 14, 2006
    Publication date: June 19, 2008
    Applicant: INTEL CORPORATION
    Inventors: Vinodh Gopal, Erdinc Ozturk, Matt Bace, Wajdi Feghali, Robert P. Ottavi
  • Publication number: 20080148024
    Abstract: The present disclosure provides a method for instruction processing. The method may include adding a first operand from a first register, a second operand from a second register and a carry input bit to generate a sum and a carry out bit. The method may further include loading the sum into a third register and loading the carry out bit into a most significant bit position of the third register to generate a third operand. The method may also include performing a single bit shift on the third operand via a shifter unit to produce a shifted operand and loading the shifted operand into the fourth register. The method may further include loading a least significant bit from the sum into the most significant bit position of the fourth register to generate a fourth operand. The method may additionally include generating a greatest common divisor (GCD) of the first and second operands via the fourth operand and generating a public key based on, at least in part, the GCD.
    Type: Application
    Filed: December 14, 2006
    Publication date: June 19, 2008
    Applicant: INTEL CORPORATION
    Inventors: Gilbert M. Wolrich, William Hasenplaugh, Wajdi Feghali, Daniel Cutter, Vinodh Gopal, Gunnar Gaubatz
  • Publication number: 20080148011
    Abstract: The present disclosure provides a system and method for performing carry/borrow handling. A method according to one embodiment may include generating a first result having a first carry or borrow from a first mathematical operation and storing the first carry or borrow and a first pointer address in a temporary register. The method may further include generating a second result having a second carry or borrow from a second mathematical operation and calling a subroutine configured to perform carry and borrow handling. The method may also include copying the first pointer address from the temporary register into a global variable. Of course, many alternatives, variations and modifications are possible without departing from this embodiment.
    Type: Application
    Filed: December 14, 2006
    Publication date: June 19, 2008
    Applicant: INTEL CORPORATION
    Inventors: Vinodh Gopal, Gilbert M. Wolrich, Gunnar Gaubatz, Daniel Cutter, Wajdi Feghali, Kaan Yuksel, Erdinc Ozturk
  • Publication number: 20080140753
    Abstract: An electronically implemented method includes multiplying a number A, and a number B, where A is composed of segments ai and B is composed of segments bj where i and j are integers greater than 1. The multiplying includes determining partial product values for at least some of aibj and determining a sum of partial product values for aibj and ajbi where ai=bj and bj=ai for respective values of i and j, by multiplying one of (1) aibj and (2) ajbi by two. A sum is determined and stored in a memory storage element of the determined partial product values and the determined sum of partial product values for aibj and ajbi.
    Type: Application
    Filed: December 8, 2006
    Publication date: June 12, 2008
    Inventors: Vinodh Gopal, Gilbert M. Wolrich, Wajdi Feghali, Robert P. Ottavi
  • Publication number: 20080075278
    Abstract: Techniques are described herein to overlay and merge any number of tables of equivalent size and structure. Bits or patterns of bits that are similar among tables may be set to a voltage value representative of respective logical ‘0’ or ‘1’. The bits that are different among the tables may be connected to either the value of a table selection signal or its inverse.
    Type: Application
    Filed: September 22, 2006
    Publication date: March 27, 2008
    Inventors: Gunnar Gaubatz, William C. Hasenplaugh, Bradley A. Burres, Wajdi Feghali, Kirk Yap
  • Publication number: 20080059865
    Abstract: The present disclosure provides an apparatus and method for generating a Galois-field syndrome. One exemplary method may include loading a first data byte from a first storage device to a first register and loading a second data byte from a second storage device to a second register; ANDing the most significant bit (MSB) of the first data byte and a Galois-field polynomial to generate a first intermediate output; XORing each bit of the first intermediate output with the least significant bits (LSBs) of the first data byte to generate a second intermediate output; MUXing the second intermediate output with each bit of the first data byte to generate a third intermediate output; XORing each bit of the third intermediate output with each bit of the second data byte to generate at a fourth intermediate output; and generating a RAID Q syndrome based on, at least in part, the fourth intermediate output. Of course, many alternatives, variations and modifications are possible without departing from this embodiment.
    Type: Application
    Filed: August 31, 2006
    Publication date: March 6, 2008
    Applicant: INTEL CORPORATION
    Inventors: Vinodh Gopal, Gilbert M. Wolrich, Daniel Cutter, Wajdi Feghali, Robert P. Ottavi
  • Publication number: 20080013715
    Abstract: In general, in one aspect, the disclosure describes a system including multiple programmable processing units, a dedicated hardware multiplier, and at least one bus connecting the multiple processing units and multiplier.
    Type: Application
    Filed: December 30, 2005
    Publication date: January 17, 2008
    Inventors: Wajdi Feghali, William Hasenplaugh, Gilbert Wolrich, Daniel Cutter, Vinodh Gopal, Gunnar Gaubatz
  • Publication number: 20070192626
    Abstract: The disclosure includes description of a processor component that includes a set of register bits to perform a shift register operation. The component window detection logic can detect a window of bits in the set of register bits and, in response to detecting the window, output the window of bits.
    Type: Application
    Filed: December 28, 2006
    Publication date: August 16, 2007
    Inventors: Wajdi Feghali, William Hasenplaugh, Gilbert Wolrich, Daniel Cutter, Vinodh Gopal, Gunnar Gaubatz
  • Publication number: 20070192547
    Abstract: In general, in one aspect, the disclosure describes a processing unit that includes an input buffer to store data received by the processing unit, a memory, an arithmetic logic unit coupled to the input buffer and to the memory, an output buffer; and control logic having access to a control store of program instructions, the control logic to process instructions including an instruction to transfer data from the input buffer to the memory and an instruction to cause the arithmetic logic unit to perform an operation on operands provided by at least one of the memory and the input buffer, the instruction to output results of the operation to at least one of the memory and the output buffer.
    Type: Application
    Filed: February 14, 2006
    Publication date: August 16, 2007
    Inventors: Wajdi Feghali, William Hasenplaugh, Gilbert Wolrich, Daniel Cutter, Vinodh Gopal
  • Publication number: 20070192571
    Abstract: In general, in one aspect, the disclosure describes a processing unit that includes a datapath having an input buffer, at least one memory, and an arithmetic logic unit, and control logic having access to a program instruction control store. The control logic controls operation of the datapath and may concurrently cause the datapath to operate in response to different instructions that use different sections of the datapath, wherein the different sections of the datapath comprise a first section transferring data from an input buffer to the memory and a second section transferring data from the memory to the arithmetic logic unit.
    Type: Application
    Filed: February 14, 2006
    Publication date: August 16, 2007
    Inventors: Wajdi Feghali, William Hasenplaugh, Gilbert Wolrich, Daniel Cutter, Vinodh Gopal, Gunnar Gaubatz
  • Publication number: 20070174372
    Abstract: In general, in one aspect, the disclosure describes a processing unit that includes a memory, an arithmetic logic unit, and control logic having access to program instructions of a control store. The control logic includes logic to access multiple sets of variables, variables in the different sets of variables being identically referenced by instructions, associate a one of the sets of variables as the current set of variables to be used in instructions that are executed by the arithmetic logic unit, change the set of variables associated with the current set of variables in response to a procedure call or exit, and alter the value of a variable of a set of the variables other than the set of variables associated with the current set of variables in response to an instruction.
    Type: Application
    Filed: February 14, 2006
    Publication date: July 26, 2007
    Inventors: Wajdi Feghali, William Hasenplaugh, Gilbert Wolrich, Daniel Cutter, Vinodh Gopal, Gunnar Gaubatz
  • Publication number: 20070157030
    Abstract: In general, in aspect, the disclosure describes a system integrated on a single die that includes a first processor core to receive commands from at least one other processor core to perform at least one specified transformative operation on specified data, multiple processing units to perform transformative operations on data, a shared memory, and logic to transfer data between a one of the set of multiple processing units and the shared memory.
    Type: Application
    Filed: December 30, 2005
    Publication date: July 5, 2007
    Inventors: Wajdi Feghali, William Hasenplaugh, Gilbert Wolrich, Daniel Cutter, Vinodh Gopal
  • Patent number: 7171604
    Abstract: Configurable CRC calculation engines and methods of performing CRC calculations are presented. The configurable CRC calculation engines calculate a CRC value for the data using an associated polynomial and remainder. The method includes receiving a polynomial, receiving a block of data to determine a CRC value for, and calculating a CRC value for the data using the polynomial. With such devices and methods, the configurable CRC calculation engines are useful in various applications and protocols.
    Type: Grant
    Filed: December 30, 2003
    Date of Patent: January 30, 2007
    Assignee: Intel Corporation
    Inventors: Jaroslaw J. Sydir, Alok J Mathur, Wajdi Feghali, Kamal J. Koshy, Eduard Lecha
  • Publication number: 20060059219
    Abstract: An arrangement is provided for performing modular exponentiations. A modular exponentiation may be performed by using multiple Montgomery multiplications. A Montgomery multiplication comprises a plurality of iterations of basic operations (e.g., carry-save additions), and is performed by a Montgomery multiplication engine (MME). Multiple MMEs of smaller sizes may be chained together to perform modular exponentiations of larger sizes. Additionally, a single MME of a smaller size may be scheduled to perform modular exponentiations of larger sizes. Moreover, the process of performing a Montgomery multiplication may be pipelined both horizontally and vertically. Furthermore, processes of performing two Montgomery multiplications may be interleaved and performed by the same MME or chained MMEs.
    Type: Application
    Filed: September 16, 2004
    Publication date: March 16, 2006
    Inventors: Kamal Koshy, Gilbert Wolrich, Jaroslaw Sydir, Wajdi Feghali
  • Publication number: 20060059220
    Abstract: An arrangement is provided for performing Montgomery multiplications. A Montgomery multiplication comprises a plurality of iterations of basic operations (e.g., carry-save additions), and is performed by a Montgomery multiplication engine (MME). Basic operations in each iteration may be performed by multiple Montgomery multiplication processing elements (MMPEs). An MME may be arranged to pipeline the process of performing iterations of multiple basic operations and other operations required to complete a Montgomery multiplication both horizontally and vertically. An MME may also be arranged to interleave processes of performing two Montgomery multiplications.
    Type: Application
    Filed: September 16, 2004
    Publication date: March 16, 2006
    Inventors: Kamal Koshy, Gilbert Wolrich, Jaroslaw Sydir, Wajdi Feghali
  • Publication number: 20060010327
    Abstract: An arrangement is provided for performing MD5 digesting. The arrangement includes apparatuses and methods that pipeline the MD5 digesting process to produce a 128 bit digest for an input message of any arbitrary length.
    Type: Application
    Filed: June 25, 2004
    Publication date: January 12, 2006
    Inventors: Kamal Koshy, Jaroslaw Sydir, Wajdi Feghali
  • Publication number: 20050238166
    Abstract: An arrangement is provided for performing the KASUMI ciphering process. The arrangement includes apparatuses and methods that parallelize computations of two FI functions in KASUMI rounds within one clock cycle and computes two consecutive FL functions in the KASUMI rounds within one clock cycle.
    Type: Application
    Filed: April 27, 2004
    Publication date: October 27, 2005
    Inventors: Kamal Koshy, Jaroslaw Sydir, Wajdi Feghali
  • Publication number: 20050240764
    Abstract: An arrangement is provided for performing RC4 ciphering. The arrangement includes apparatuses and methods that pipeline generation of a key stream based on a byte state array, called the S-box, which is initially generated from a secret key shared by a receiver and a transmitter in a network system. The S-box is stored in a storage device which may be a register file with two read ports and one write port. A cache is used to store a number of bytes read from the S-box storage device.
    Type: Application
    Filed: April 27, 2004
    Publication date: October 27, 2005
    Inventors: Kamal Koshy, Jaroslaw Sydir, Wajdi Feghali
  • Publication number: 20050154960
    Abstract: Configurable CRC calculation engines and methods of performing CRC calculations are presented. The configurable CRC calculation engines calculate a CRC value for the data using an associated polynomial and remainder. The method includes receiving a polynomial, receiving a block of data to determine a CRC value for, and calculating a CRC value for the data using the polynomial. With such devices and methods, the configurable CRC calculation engines are useful in various applications and protocols.
    Type: Application
    Filed: December 30, 2003
    Publication date: July 14, 2005
    Inventors: Jaroslaw Sydir, Alok Mathur, Wajdi Feghali, Kamal Koshy, Eduard Lecha
  • Publication number: 20050149725
    Abstract: A data processing device includes a crypto unit having an alignment buffer for providing data to transmit buffer elements of a media switch fabric in multiples of a predetermined number of bytes. Ciphered data for a packet can be split over first and second transmit buffer elements so as to reduce the amount of software intervention.
    Type: Application
    Filed: December 30, 2003
    Publication date: July 7, 2005
    Inventors: Jaroslaw Sydir, Kamal Koshy, Wajdi Feghali, Bradley Burres, Gilbert Wolrich