Sachverhalt: Sachverhalt: A. Die Schweizerische Bundesanwaltschaft leitete am 11. August 1994 gegen X._ ein gerichtspolizeiliches Ermittlungsverfahren ein. Sie warf ihm vor, er habe sich bei der Beschaffung einer Computeranlage für die Eidgenössische Technische Hochschule Zürich (ETH-Komplex) sowie als Verwaltungsrat und Geschäftsführer der Firmen A._AG und B._AG (D._-Komplex) strafbar gemacht. Gestützt auf einen Haftbefehl der Bundesanwaltschaft wurde X._ am 30. August 1994 in Zürich festgenommen und am darauf folgenden Tag in Untersuchungshaft versetzt. Am 4. November 1994 eröffnete der Eidgenössische Untersuchungsrichter eine Voruntersuchung gegen den Angeschuldigten. Am 8. Dezember 1994 wurde X._ aus der Haft entlassen. Mit Verfügung vom 22. April 1996 delegierte das Eidgenössische Justiz- und Polizeidepartement die beide Komplexe umfassende Untersuchung an die Strafverfolgungsbehörden des Kantons Zürich. Die Bezirksanwaltschaft III für den Kanton Zürich trennte im Rahmen der Strafuntersuchung die Komplexe ETH und D._ in zwei separate Verfahren. Die Untersuchung im ETH-Komplex wurde am 30. Mai 2000 bzw. 17. August 2000 eingestellt. Im D._-Komplex erhob die Bezirksanwaltschaft am 21. Juni 1999 Anklage gegen X._. Sie warf ihm ungetreue Geschäftsführung zum Nachteil der A._AG sowie betrügerischen Konkurs (Anklageziffer 1), Veruntreuung zum Nachteil der B._AG (Anklageziffer 2), ungetreue Geschäftsführung zum Nachteil der B._AG (Anklageziffer 3) sowie Veruntreuung zum Nachteil der C._AG und ungetreue Geschäftsführung zum Nachteil der A._AG (Anklageziffer 4) vor. Das Bezirksgericht Zürich trat am 19. November 1999 auf den in Anklageziffer 4 erhobenen Vorwurf der Veruntreuung - infolge Verjährung - nicht ein. Es sprach X._ der mehrfachen ungetreuen Geschäftsführung (Anklageziffern 2 und 4) schuldig und sprach ihn von den übrigen Vorwürfen frei. Es bestrafte den Angeklagten mit einer bedingt vollziehbaren Gefängnisstrafe von 3 Monaten. A. Die Schweizerische Bundesanwaltschaft leitete am 11. August 1994 gegen X._ ein gerichtspolizeiliches Ermittlungsverfahren ein. Sie warf ihm vor, er habe sich bei der Beschaffung einer Computeranlage für die Eidgenössische Technische Hochschule Zürich (ETH-Komplex) sowie als Verwaltungsrat und Geschäftsführer der Firmen A._AG und B._AG (D._-Komplex) strafbar gemacht. Gestützt auf einen Haftbefehl der Bundesanwaltschaft wurde X._ am 30. August 1994 in Zürich festgenommen und am darauf folgenden Tag in Untersuchungshaft versetzt. Am 4. November 1994 eröffnete der Eidgenössische Untersuchungsrichter eine Voruntersuchung gegen den Angeschuldigten. Am 8. Dezember 1994 wurde X._ aus der Haft entlassen. Mit Verfügung vom 22. April 1996 delegierte das Eidgenössische Justiz- und Polizeidepartement die beide Komplexe umfassende Untersuchung an die Strafverfolgungsbehörden des Kantons Zürich. Die Bezirksanwaltschaft III für den Kanton Zürich trennte im Rahmen der Strafuntersuchung die Komplexe ETH und D._ in zwei separate Verfahren. Die Untersuchung im ETH-Komplex wurde am 30. Mai 2000 bzw. 17. August 2000 eingestellt. Im D._-Komplex erhob die Bezirksanwaltschaft am 21. Juni 1999 Anklage gegen X._. Sie warf ihm ungetreue Geschäftsführung zum Nachteil der A._AG sowie betrügerischen Konkurs (Anklageziffer 1), Veruntreuung zum Nachteil der B._AG (Anklageziffer 2), ungetreue Geschäftsführung zum Nachteil der B._AG (Anklageziffer 3) sowie Veruntreuung zum Nachteil der C._AG und ungetreue Geschäftsführung zum Nachteil der A._AG (Anklageziffer 4) vor. Das Bezirksgericht Zürich trat am 19. November 1999 auf den in Anklageziffer 4 erhobenen Vorwurf der Veruntreuung - infolge Verjährung - nicht ein. Es sprach X._ der mehrfachen ungetreuen Geschäftsführung (Anklageziffern 2 und 4) schuldig und sprach ihn von den übrigen Vorwürfen frei. Es bestrafte den Angeklagten mit einer bedingt vollziehbaren Gefängnisstrafe von 3 Monaten. B. Gegen das Urteil des Bezirksgerichts legte X._ Berufung ein. Das Obergericht des Kantons Zürich sprach ihn am 26. Juni 2001 des eingeklagten betrügerischen Konkurses frei. Auf die übrigen Anklagepunkte trat es - infolge Verjährung - nicht ein. Die Kosten der Untersuchung und des erstinstanzlichen Verfahrens (inklusive derjenigen der amtlichen Verteidigung) wurden zu einem Drittel dem Angeklagten auferlegt und im Übrigen auf die Gerichtskasse genommen. Die Kosten des Berufungsverfahrens (inklusive derjenigen der amtlichen Verteidigung) wurden dem Angeklagten zu einem Sechstel überbunden und im Übrigen auf die Gerichtskasse genommen. X._ focht den Entscheid des Obergerichts, soweit ihm darin Kosten auferlegt worden waren, mit einer kantonalen Nichtigkeitsbeschwerde an. Das Kassationsgericht des Kantons Zürich wies die Beschwerde am 20. Juni 2002 ab, soweit es darauf eintreten konnte. Das Obergericht setzte X._ am 26. Juni 2001 eine Frist an, um allfällige Entschädigungs- und Genugtuungsansprüche zu beziffern und zu begründen. Mit Eingaben vom 29. Januar 2002 und 2. Juli 2002 stellte er Anträge betreffend Entschädigung (Fr. 22,5 Mio.) und Genugtuung (Fr. 2,5 Mio.). Am 18. September 2002 liess X._ dem Obergericht seine an den Präsidenten der Anklagekammer des Bundesgerichts gerichtete Eingabe vom gleichen Tag zukommen, in welcher er eine Entschädigung von rund Fr. 77 Mio. und eine Genugtuung von Fr. 860'000.-- zulasten der Bundesanwaltschaft verlangte. Er wies darauf hin, dass die Begründung dieses Gesuchs auch für das vor Obergericht hängige Entschädigungs- und Genugtuungsverfahren gelte. Das Obergericht wies mit Beschluss vom 11. Juli 2003 (Nachtragsbeschluss zum Urteil vom 26. Juni 2001) die Entschädigungs- und Genugtuungsbegehren ab, soweit darauf eingetreten wurde. X._ reichte gegen diesen Entscheid des Obergerichts eine kantonale Nichtigkeitsbeschwerde ein. Mit Zirkulationsbeschluss vom 17. Dezember 2003 wies das Kassationsgericht die Beschwerde ab, soweit es darauf eintrat. X._ reichte gegen diesen Entscheid des Obergerichts eine kantonale Nichtigkeitsbeschwerde ein. Mit Zirkulationsbeschluss vom 17. Dezember 2003 wies das Kassationsgericht die Beschwerde ab, soweit es darauf eintrat. C. Gegen den Entscheid des Kassationsgerichts erhob X._ am 6. Februar 2004 beim Bundesgericht staatsrechtliche Beschwerde. Er beantragt, der angefochtene Beschluss sei aufzuheben. Ausserdem ersucht er um Gewährung der unentgeltlichen Rechtspflege für das bundesgerichtliche Verfahren. C. Gegen den Entscheid des Kassationsgerichts erhob X._ am 6. Februar 2004 beim Bundesgericht staatsrechtliche Beschwerde. Er beantragt, der angefochtene Beschluss sei aufzuheben. Ausserdem ersucht er um Gewährung der unentgeltlichen Rechtspflege für das bundesgerichtliche Verfahren. D. Die Staatsanwaltschaft und das Kassationsgericht des Kantons Zürich verzichteten auf eine Vernehmlassung. 